I don't think that the Tomcat->JBoss connection will be the problem.
It might be a problem whether the DB connection is not 'closed' that mean that it is not correct given back to the pool.
Such problems happen if the ResultSet/Statement/Connection is not closed in any circumstances. i.e. if you use the connection to execute your own SQL.
You will find settings and informations in this wiki, also the <track-statements> element in the ds configuration (see this wiki) might help