Se seu sistema operacional é de 32 bits, então não adianta ter mais de 4Gb de RAM.
A quantidade máxima endereçável pelo sistema é 2^32-1 bytes, ou 4.294.967.295 bytes.
Como o java trabalha com sinal, não duvido que o limite máximo da VM seja metade disso.
A solução é trocar para um SO e uma VM de 64 bits.
Ainda assim, você precisaria ter um volume realmente gigantesco de informações para lotar esse relatório. Se nem isso está aguentando, seria bom rodar sua aplicação num profiler e descobrir porque a geração está consumindo tanta memória. Na maior parte das vezes é algum tipo de erro bobo de programação.
exacto…
sem paginação é impossivel trabalhar com grandes quantidades de dados, imagina a base de dados com o nome de todos os habitantes do Brasil, carregados na memoria da java virtual machine…
nem o servidor dos aligenuas ( ET ) iria aguentar isso