My first reaction upon reading that number of JPS's above would be : let's enable Garbage Collector logging, and look at what it says.
Maybe also, just to give us an idea, you could tell us how much memory that system has, and how much is given to use by Tomcat ?
As far as I first understand such things, each of these JSP's gets compiled into a servlet, and the code of that servlet is held in memory for an extended period of time, even if unused at any particular moment. So this is 16000 servlets probably coexisting (un-)happily inside that JVM. No wonder..
Or am I totally off the mark here, Tomcat/Java experts ?