Problemas com JBoss

Oi, Galera!
Vejam se vcs podem me ajudar.

A minha aplicação é simples feita em java e utilizando o Struts como FrameWork, ela somente produz relatórios e utiliza o JasperReport para isso.
Estou tendo o seguinte problema:
OutOfMemoryError

Primeiro achei que fosse devido à quantidade de registros que retornavam da minha consulta, então diminui a quantidade de registros retornados e aparentemente havia resolvido o problema.
Mas Ao gerar vários relatórios sucessivamente deu o mesmo erro, então pensando que fosse o java forcei o Garbage Collector a executar após qualquer requisição feita ao sistema.
Mas isto também só retardou o erro então estou achando que o problema esteja no JBoss pôs sempre que o reestarto consigo continuar gerando os relatórios…

E ae? Alguém sabe como me ajudar?
Alem disso tudo que já mencionei, já setei o java para utilizar toda a memória disponível passando os parâmetros -Xms e –Xmx

Você está fechando todos os streams criados para criar gerar o relatório? Connections, ResultSets, OutputStreams etc?

estou sim, mas não sei se os criados internamente pelas classes do jasper estão… teria alguma maneira de verificar isto?

Usa um profiler. Eue stou com o mesmo problema, com uma estrutura um pouco maior e usando FOP.

[]s

Cara,
agora vc falou algo que desconheço.
O que seria um profiler?
Vc teria alguma documentação ou site onde eu posso achar alguma informação e até mesmo utilizá-lo?