Jim, twoja praktyka polegająca na otwieraniu i zamykaniu metod połączeń wewnątrz innej klasy jest bardzo stara, współczesny rozwój .NET podąża za wzorem takim jak ten:
using (SqlConnection conn = new SqlConnection("connection string here"))
using (SqlCommand cmd = new SqlCommand("sql query", conn))
{
// execute it blah blah
}
zobacz tutaj:Zamykanie SqlConnection i SqlCommand c# lub wyszukaj w SO setki pytań i odpowiedzi, które mówią to samo, natychmiast zamknij połączenie za pomocą użycia takiego jak w tym przykładzie lub za pomocą try/finally wewnątrz tej samej metody, nie ma potrzeby otwierania jednej metody i zamykania metody to, po prostu podatne na błędy, jeśli coś się stanie pomiędzy.