Немного сложно, но работает:
int occ = 1; // 1 if you want the 2nd occurrence, 2 if you want the 3rd etc...
var nRepeatingElements = list.Select((x, idx) => new { Index = idx, Value = x })
.GroupBy(x => x.Value)
.Where(g => g.Count() > occ)
.Select(x => x.ElementAt(occ))
.ToList();
Возвращает список с:
[Index:2 , Value: 'A']
[Index:5 , Value: 'C']
нотабене
Индекс на 1 ниже, чем желаемое решение (потому что индекс основан на 0). Но его действительно легко увеличить, даже в первом LINQ. Выберите, если хотите:
Select((x, idx) => new { Index = idx+1, Value = x })