Я не настоящий эксперт в этом вопросе, но я знаю, что ADO.NET имеет свою собственную систему пулов соединений, и пока я ее использую, она безошибочна.
Моя реакция заключается в том, что нет смысла заново изобретать колесо ... Просто убедитесь, что вы закрыли свои соединения, когда закончите с ними, и все будет хорошо!
Я надеюсь, что кто-то еще может дать вам еще несколько стойких ответов!