C#: yield return statement inside a using() { } block Disposes before executing
stackoverflow.com