Based on my limited experience, the most likely cause is your code or some code you use.
Are you using CMTs or BMTs? Are you using a database? Are the transactions also building up in the database? Are you using EJB2 or EJB3?
[Message sent by forum member 'matterbury' (matterbury_at_abinitio.com)]
http://forums.java.net/jive/thread.jspa?messageID=363260