Hi! In our webapp we are generating a pdf file from a backing bean. We only render one page with at most 40 elements. This page is rendered for about 500-1000 times, each in a new complete request. After some time, the server runs out of memory because there are more then 160000 (or even 220000) instances of JRBasePrintPage in exactly on ArrayList in one JasperPrint instance. JasperPrint |____ ArrayList |____JRBasePrintPage |____JRBasePrintPage |____JRBasePrintPage The JasperPrint elment is declared final within the method and should be destroyed, same as the JRDataSource.To my best knowledge, there are no hard references to any of the objects. Why is the JRBasePrintPage not destroyed? Any one got an idea? Thanks for your help! Max Muster Code:JRDataSource dataSource = getBeanFactory().createDataSource( source, configuration );final JasperPrint printer = JasperFillManager.fillReport( getPdfTemplatesOrdner() + templateName, parameters, dataSource ); final byte[] pdfData = JasperExportManager.exportReportToPdf( printer );