Jim, sua prática de ter métodos de conexão aberta e fechada dentro de outra classe é muito antiga, o desenvolvimento .NET moderno segue um padrão como este hoje em dia:
using (SqlConnection conn = new SqlConnection("connection string here"))
using (SqlCommand cmd = new SqlCommand("sql query", conn))
{
// execute it blah blah
}
veja aqui:Fechando SqlConnection e SqlCommand c# ou pesquise no SO por centenas de perguntas e respostas todas dizendo o mesmo, feche a conexão imediatamente com um using como neste exemplo ou com um try/finally dentro do mesmo método, não há necessidade de um método para abrir e no método para fechar ele, apenas propenso a erros se algo acontecer no meio.