Grant Richins has a couple of interesting blog posts on C# iterators.  In one post, he discusses the performance implications of recursive iterators and in another, he posts a more efficient recursive iterator for a generic binary tree using a generic stack collection.  Very cool stuff.