У этого вопроса уже есть ответ:
Есть ли причина, по которой не использовать return return при возврате IEnumerable?
Здесь есть несколько полезных вопросов о преимуществах yield return. Например,
Я ищу мысли, когда  НЕ использовать yield return. Например, если я ожидаю, что вам нужно вернуть все элементы в коллекции, это не похоже, что yield будет полезен, не так ли?
  Каковы случаи, когда использование yield будет ограничивать, излишне, затруднять мне работу, или иначе следует избегать?

