the code example listed below may not be the most elegant solution for your problem, but you might want to give its logic a try.
private void FindMostFrequentlyRepeatedElement()
{
List<string> l = new List<string>();
l.Add("Item 1");
l.Add("Item 1");
l.Add("Item 2");
l.Add("Item 3");
l.Add("Item 4");
l.Add("Item 4");
l.Add("Item 4");
var qDistinct = (from x in l select x).Distinct();
int iMaxRepeat = 0;
string sMax = String.Empty; //This string will contain the string most frequently repeated in the List
foreach (string s in qDistinct)
{
var count = (from x in l where x == s select x).Count();
if (count > iMaxRepeat)
{
iMaxRepeat = count;
sMax = s;
}
}
}