Counting the occurrence of each letter in a string
The trick is to group by the character, as you are doing, then do a second grouping by the count:

var testString = "abbsabwertbfacsfgggdfgasc";

var characterCounts =
    from character in testString
    group character by character into characterGroup
    group characterGroup.Key by characterGroup.Count() into countedCharacterGroup
    orderby countedCharacterGroup.Key descending
    select new
    {
        Characters = new string(countedCharacterGroup.ToArray()),
        Count = countedCharacterGroup.Key
    };

var topCharacterCount = characterCounts.First();

Console.WriteLine("{0},{1}", topCharacterCount.Characters, topCharacterCount.Count);


Breakdown

First, we do the same initial grouping:

from character in testString
group character by character into characterGroup


Next, we group the characters by the number of times they appear:

group characterGroup.Key by characterGroup.Count() into countedCharacterGroup


Then, we order based on the character counts:

orderby countedCharacterGroup.Key descending


Finally, we create a string for each set of characters with the same count:

select new
{
    Characters = new string(countedCharacterGroup.ToArray()),
    Count = countedCharacterGroup.Key
}


We can also get rid of the loop, instead grabbing the top count and writing the joined character string:

var topCharacterCount = characterCounts.First();

Console.WriteLine("{0},{1}", topCharacterCount.Characters, topCharacterCount.Count);