This sounds like the same problem I had recently and it turned out to be my mistake. I am using the same configuration as yours. I thought the connections were closed, but using Oracle DBA-studio I saw that they were not closed. I found that I had a few entity beans which were not opening and closing their connections in each method. Intead, each new instance of an entity bean was creating its own connection in the setEntityContext method and they were staying open until garbage collection ran.
I just mention this in case you made the same mistake. Good luck.