I just got done reading this bit by Attila Szegedi (seen on the ADVANCED-JAVA list) about some obscure Java memory leaks and how he found them in his app.
Amazing! Moral of the story, beware of Jakarta commons-logging holding onto references to classes in applications that reload them, sun.net.www.http.KeepAliveCache for HTTP 1.1 connections doing the same, and an unbelievable insight into ThreadLocal. Wow.