Если у вас есть пакет операторов, которые должны выполняться друг за другом, вы должны использовать тот же SqlConnection.
Как только вам больше не нужен SqlConnection и вы не знаете, когда вам снова понадобится соединение, вы должны закрыть соединение.
Так, например, если вам нужно выполнить 2 оператора вставки и один оператор обновления друг за другом, вы должны использовать один и тот же SqlConnection.
Наиболее важным преимуществом здесь является то, что вы можете поместить эти операторы в транзакцию, если это необходимо. Транзакции не могут быть разделены между соединениями.
Когда вы закончите работать с БД, вы можете закрыть соединение. По умолчанию используется пул соединений, и соединение будет возвращено в пул, чтобы его можно было использовать повторно при следующем подключении к БД.
Время жизни соединения должно быть коротким, но вы не должны использовать отдельное соединение для каждой команды DbCommand.