The OP blog-post doesn't really represent it succinctly in C#. This is the most succinct way I could think of:
var top = (from w in text.Split(' ')
group w by w into g
orderby g.Count() descending
select g.Key).Take(10);