Your memory climbing looks almost identical to what is happening to our tests, though ours takes 3 days to kill it.
For us it ended up being an open socket in a lib we are using.
Check out the libs.
I ended up going through the code commenting out lines and retesting (a quicker version) tell I narrowed is down.
A really good complete resource profiler of the app server would be nice.
[Message sent by forum member 'ddevore' (ddevore)]
http://forums.java.net/jive/thread.jspa?messageID=316631