As a part of my PhD work, I tested JFreeChart using Aspect Oriented approach and found a memory leak in the ChartPanel class. Objects of Graphics2D have been created within this class for which it is necessary to call the dispose method which abandons this graphics context and releases the system resources used by it.
We observed that although a total of 5 objects of Graphics2D class have been created in this class for which the dispose method should be called, it has been called only 4 times. For one of the Graphics2D objects, namely bufferG2, created within the paintComponent method of the ChartPanel class, the dispose function has not been called which may become a reason for memory leak.
Details of our testing approach can be seen at http://ieeexplore.ieee.org/document/7456923/
This is tracked at GitHub:
https://github.com/jfree/jfreechart/issues/38