At work we have some tomcat servers running several webapps, about half of which have to do some image processing.
Before doing their image processing, these webapp
Looks like a ugly memory leak to me, i can't guess where it is without looking the whole code, but i know what you should check very carefully.
Possible causes:
_Global Variable List, adding elements, never remove them.
_Infinite/big loops, loading lots of elements to Lists, never remove them.
Also it would help if you use a Java profiler, such as VisualVM
If you provide more information in order to have a better idea of how it works I i may be able to improve my answer, there's nothing i can do without more information =)
Hope it helps!