Problema com C3P0

Bom dia!!

Eu tenho uma aplicação, utilizando o c3p0 para administrar o pool de conexão do meu banco, estou usando o hibernate para fazer o ORM.
O meu banco aceita no máximo 30 conexões simultâneas.
Acontece que algumas conexões JDBC estão ficando presas, e não estão sendo fechadas pelo C3P0, aí quando a aplicação faz uma nova requisição, cria uma nova conexão com o banco e não utiliza a que ficou presa, e aí a conexão utilizada também fica presa, e vai virando uma bola de neve, até estourar o limite de 30 conexões simultâneas.
Já utilizei o guia de referência do C3P0: http://www.mchange.com/projects/c3p0/index.html,
lá achei um comentário:

turn on statement pooling c3p0.maxStatements=150 # close pooled Connections that go unused for # more than half an hour c3p0.maxIdleTime=1800

ou seja tentei usar, essa opção e não deu em nada, as conexões continuam ficando presas e estoura o limite de 30 conexões simultâneas!

Estou usando o tomcat…

Alguém poderia me dar alguma solução, ou sugestão sobre isso?? Agradeço demais!