Debugging memory leaks is tedious in the best cirumstances but Java API for working with images gives you little to work with in the way of controlling memory management. Having a 3rd party library just makes things worse. I'd do the following: 1. Rule out JFreeChart. Change the code to read a static image or a series of static images. If memory use grows, the culprit is your code. 2. Consult JFreeChart's support resources. They should have a forum or a mailing list that will document bugs and workarounds. 3. Read up on how to use JConsole to observe your application's execution and memory usage. You may be able to detect the cause of your problem. If you can write an applet which exhibits the behavior you are seeing in less than 100 lines of code, post it and we can take a look.