There is either a leak: The application keeps pointers to a lot of objects that are actually never going to be used.<p>Or running out of memory: The application keeps pointers to objects that <i>will</i> be used later.<p>Both problems are solvable, you remove the pointers or change the algorithm respectively. (If you simply can&#x27;t add more memory.)<p>The real hard problem is that the jvm takes a long time to report an OOM error. But it&#x27;s not unique to java; Who have not seen servers that have become unresponsive in a low memory situation.