O pool do tomcat não esta fechando minhas conexões

Pessoal tenho a seguinte configuração do pool

<Resource type="oracle.jdbc.pool.OracleConnectionPoolDataSource" driverClass="oracle.jdbc.driver.OracleDriver" factory="oracle.jdbc.pool.OracleDataSourceFactory" maxActive="40" maxIdle="10" maxWait="-1" removeAbandoned="true" removeAbandonedTimeout="10" />
CATALINA_OPTS="-server -Xms2048M -Xmx3072M -XX:PermSize=512M -XX:MaxPermSize=512M"

Comecei a realizar teste de carga com o jmeter e verificando as conexões que permanecem aberta no banco com

SELECT count(*) FROM V$SESSION

O que verifiquei foi que com o dimensionamento da memória como está as conexões permanecem abertas. Se deixou as configurações default de memória do java ele por passar o garbage collection masi frequentemente ele após os testes permanecem com um valor pequeno de conexões abertas.

Qntd. Usuários = 300
Qntd. Conexões Abertas = 150

A dúvida é porque ele esta utrapassando a quantidade de conexões que determino e porque será que as conexões permanecem abertas?

Umas das forma que consegui diminuir sem alterar muito a configuração de memória foi deixar o “permsize” com os valores default. Isso deixou as conexões a um nível mais aceitável. Agora não sei o impacto no servidor de produção. Mas os testes do Jmeter não mostraram muitos erros em múltiplos acessos.