Возможно ли, что приложение, возможно, в очень специфическом наборе условий, неправильно освобождает свое соединение? Например, возможно, не делать это в «наконец-то»? Так что в продуктах это случается чаще, чем в QA, потому что данные и действия отличаются?
Контролируя состояние соединений, используя TPV или любой другой инструмент, который вы предпочитаете, вы сможете увидеть, что происходит. Я ожидаю увидеть, что «потерянные» соединения будут очищены через некоторое время - это будет соответствовать циклу восстановления, который вы видите.
С некоторыми усилиями вы могли бы включить достаточное количество трассировок веб-сферы, чтобы увидеть распределение и освобождение соединений, и должны иметь возможность видеть несовпадающие пары.
Я бы прокомментировал любое недавно развернутое приложение. Посмотрите, открывается ли соединение, и проверьте подходящие блоки "finally".