No es necesario Close or Dispose
el using
block se encargará de eso por ti.
Como se indica en MSDN:
El siguiente ejemplo crea una SqlConnection, la abre y muestra algunas de sus propiedades. La conexión se cierra automáticamente al final del bloque de uso.
private static void OpenSqlConnection(string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
Console.WriteLine("State: {0}", connection.State);
}
}