Небольшое уточнение по предоставленным ответам ...
Параметры в C # передаются по их типу, значениям для типов значений, ссылкам для ссылочных типов. Однако вы передаете интерфейс, который может относиться к классу (ссылочный тип) или struct (тип значения), поэтому вам необходимо явно объявить его как переменную ref.
Однако, что вы действительно должны соблюдать (как упоминалось ранее), это шаблон IDisposable, который был разработан для этой функции.
РЕДАКТИРОВАТЬ: параметры передаются по значению, но для ссылочных типов ссылка является значением. Поэтому, если вы уничтожите ссылку в функции, исходный тип ссылки не будет затронут. Если вы измените ссылочную переменную, то есть измените данные в наборе данных, исходный ссылочный тип будет обновлен вне функции.