One of the things on my blog todo list was to write an entry showing how C# iterators work under the hood.  Well, Matt Pietrek beat me too it.  You can find an exploration of the state machine that the C# compiler generates for you when you create an iterator with the new yield keyword.  You can find his post here.