Если это SQL Server, в строке соединения с базой данных добавьте Pooling = 'false', и тогда соединения не будут объединяться.
В общем случае пул соединений хорош для вашего приложения. Откройте, сделайте что-нибудь, закройте и утилизируйте соединение обратно в пул. У меня были случаи, когда соединения не удалялись должным образом, что вызывало проблемы.
Убедитесь, что все соединения находятся в блоке using (который будет вызывать dispose автоматически) или, если они находятся в перехватчике try, убедитесь, что в конечном итоге dispose вызывается для соединения.
Кроме этого, если пул не требуется, измените строку подключения, чтобы не использовать пул.