Как вы это измеряете? Вы смотрите на количество соединений в базе данных? Размер пула на сервере приложений? Какую базу данных вы используете?
Я не понимаю, "Нет сценария утечки соединения". Если вы неправильно закрываете все свои ResultSets, Statements и Connections (в отдельных блоках try / catch в блоке finally в области действия метода, в обратном порядке создания экземпляров), вы можете столкнуться с утечками.
Если нет другого приложения, использующего ту же базу данных, это должен быть ваш код или сервер приложений. Если вы глубоко отрицаете свой код, попробуйте переключить серверы приложений и посмотрите, поможет ли это.
Я бы предположил, что ваши тестовые сценарии нереалистичны. Если вы не наблюдаете такого поведения в производственной среде, либо ваши тесты не запускают поведение, либо тесты и развертывания prod не идентичны.