print-graphic-pdfプロシージャのパラメータとして
multi-part?というキーワード引数が用意されています

これをtrueにすることでまだファイル出力対象が存在すると見なされ、
ファイル出力されずに戻り値PrintRootFrameに印刷対象が保持されます

falseにするとファイルに出力する様になります(こっちがデフォルト)
例えば1000件ずつのデータを持ったオブジェクトを順次PrintRootFrameに格納していくといった
やり方をすれば、ある程度メモリは食わなくなると思います

(限度はあるでしょうが。。。)