Из того, что я нагуглил: встроенный пулинг в коннектор активируется опцией Pooling=true, тогда при использовании Close() физически соединение не закрывается а идет в пулл. Время жизни соединения в пуле, и максимальное-минимальное количество соединений указываются отдельными опциями. Эту технологию я и использовал, пока не довелось написать небольшую
тулзу с использованием моего DBLayer, которая парсит ГМ-лог (достаточно большой) на предмет .learn и выводит инфу о гме, таргете гма и так далее в датагрид. Вообщем все это происходило невообразимо долго... пока я не убрал пулинг к чертям и не оставил соединение открытым на все время работы программы. Вот и решил, что придется реализовывать пулинг самому. Но может в встроенном пулинге есть какой секрет...