How yield implements the pattern of lazy loading?
yield
lazy loading
If you want to know more about what the compiler is doing when using yield return, check this article by Jon Skeet: Iterator block implementation details
yield return