I know this thread is really, really old but I can still see a lot of activity so people are probably still having problems like I had.
So, the solution is: always check your MDB configuration! because even with missing or invalid value in maxSession JBoss will create by default 20 connections!
@ActivationConfigProperty(propertyName = "maxSession", propertyValue="3")
We were setting this value automatically during build and deployment process and maxSession configuration for one MDB got missing.
I would expect to see some warning or even error when JBoss can't parse maxSession value to integer but it fails silently instead.
Hope this helps, and sorry for late solution.