he he he --- Good Point.
Well, unfortunately there are too much memory leaks in too many libraries and it is a problem that few people bother much about, since no one expect the JVM to survive very long.
Back in 1999, I was chasing a <1000 bytes/day leak in my industrial control system, because I had the target of multi-year running of that system without restarts. I eventually found that, and the longest running JVM (JDK 1.1.7 I think it was) that I know of reached nearly 5 years. That wouldn't be possible today. In those days, I had a 32MB RAM computer, running Linux, Apache, Postgresql and 2 JVMs. Tried to squeeze in a desktop and Netscape on top of that, but that required an extra 32MB. Times have truly changed.
Since the JVM itself had a serious memory leak a few years later (I think it was 1.3), where StringBuffer instances weren't collected if they had a length > 0 and more than 1 (dead) reference to it, makes me think that it is likely that the highly complex JVM of today is probably also leaking over long periods of time. Java 8's JVM is a sign that PermGen space is a problem in earlier versions, but it wouldn't surprise me if there are a lot of much smaller leaks, which in GB sized memories simply isn't seen over days, but add up over years.
Happy New Year, everyone...
Niclas