Erro de out of memory ao gerar relatório com iReport

Pessoal, estou gerando um relatório onde o dataSource é um arquivo XML de 300 MB (ele possui vários subreports), ao gerar este relatório ele dispara o erro de out of memory.
Já aumentei a memoria e o erro mesmo assim ocorre.

Experimentei virtualizar o relatório da seguinte forma:

JRSwapFile swapFile = new JRSwapFile("D:/", 4096, 100);
JRAbstractLRUVirtualizer virtualizer = new JRSwapFileVirtualizer(100, swapFile);

parametros.put(JRParameter.REPORT_VIRTUALIZER, virtualizer);

O problema é que o estouro de memória continua ocorrendo e o arquivo de swap gerado nunca ultrapassa 53,2 MB. Alguém sabe se é isso mesmo? Não tem como deixar o swap maior?

Obrigado.