Konkret stört mich, dass beim debuggen von for-in-Durchläufen generischer Listen das tatsächliche Verhalten nicht nachvollziehbar ist.
Bei nicht generischen Listen passiert das nicht?
Nja, das liegt unter Anderem daran, daß nach der letzten Codezeile der For-In-Schleife der Enumerator freigegeben wird.
Da das ein automatisch generierter Code ist, welcher keine eigene Zeile besitzt, liegt der zufällig an der Position der letzten oder ersten Codezeile der Schleife und für dich sieht es dann halt so aus.
In der Assembleransicht würde das natürlich anders aussehen.
Besser wäre es natürlich, wenn dieser Befehl einfach "übersprungen" und erst wieder an der nächsten richtigen Codezeile angehalten würde.