I would start with creating a thread dump and analyzing which threads (if any) that are running (hanging) that may responsible for not giving the connection back.
I do not understand what you mean. In the logs on jboss nothing happens. - Otherwise the exception of the exhaustion of free calls when you try to log into the application.
> In the administrative console, you can see that jboss connection pool is actually exhausted
This is when the problem occurred I believe? This is when you should do a thread dump to be able
to analyze what threads i that may be using the connections from the pool.
Have you looked at the pool values from time to time when the application is "unused"? Are all connections
available and than all of a sudden they are all used, even if the application is "sleeping"?