Eric Lippert (of C# compiler fame) has a great couple of posts describing how he created and then optimized a query algorithm using LINQ.
It always makes me happy to see people who are willing to measure as opposed to just guessing about performance:
"If you did not meet your goal, use tools to discover what the worst-performing fixable thing is, and fix it."
Plus it's cool to see how powerful LINQ can be in the hands of a master!