C# używanie bloków gwarantuje wywołanie .Dispose() metoda obiektu, nawet jeśli zostanie zgłoszony wyjątek. Oznacza to, że jest bezpieczny, o ile Twój dostawca używa .Dispose() metodę zamknięcia połączenia. Patrząc w dokumentację dla tego typu , widzę ten fragment (w sekcji 25.2.3.3.5):
To mówi mi, że możesz zamknąć połączenie za pomocą metody Dispose, a więc using blok powinien być wszystkim, czego potrzebujesz.