Jim, tu práctica de tener métodos de conexión abiertos y cerrados dentro de otra clase es muy antigua, el desarrollo moderno de .NET sigue un patrón como este hoy en día:
using (SqlConnection conn = new SqlConnection("connection string here"))
using (SqlCommand cmd = new SqlCommand("sql query", conn))
{
// execute it blah blah
}
consulte aquí:Cierre de SqlConnection y SqlCommand c# o busque en SO cientos de preguntas y respuestas que digan lo mismo, cierre la conexión inmediatamente ya sea con un uso como en este ejemplo o con un intento/finalmente dentro del mismo método, no es necesario que un método se abra y otro método se cierre es propenso a errores si sucede algo en el medio.