Memory doesn't "just leak". It takes a program bug to cause memory leaks. No amount of VM configuration tweaking will change that. To avoid memory leaks, don't hack and slash the fastest-cheapest code you can. Take the time and effort to do the job professionally.
Tomcat 6 does have its own way of "leaking memory", which is the infamous PermGenSpace problem. If you repeatedly deploy a webapp in Tomcat without restarting it, some of the old webapp's static resources are not freed up by Tomcat and eventually you will run out of PermGen memory, which is a distinct memory pool from the primary heap/stack space. As far as I'm concerned that one is a deficiency in Tomcat, but it's something that can be managed by restarting Tomcat when re-deploying, unlike application-bug memory leaks which can happen with little or no warning.
Sometimes the only way things ever got fixed is because people became uncomfortable.
I have always wanted to have a neighbor just like you - Fred Rogers. Tiny ad:
free, earth-friendly heat - a kickstarter for putting coin in your pocket while saving the earth