I just figured it out.
barcode.Size = new SizeF(100, 100);
will generate QR code of size 100×100, no matter how long the Text is, or what you do with XDimension and PdfErrorCorrectionLevel.
Of course, individual squares generated will be smaller as Text gets longer…
Did not want to delete thread - may be useful for someone else.