попробуйте что-то вроде кода ниже:
List<KeyValuePair<string, int>> input = new List<KeyValuePair<string, int>>() {
new KeyValuePair<string, int>("a", 1),
new KeyValuePair<string, int>("b", 2),
new KeyValuePair<string, int>("a",33),
new KeyValuePair<string, int>("c",44),
new KeyValuePair<string, int>("d",33)
};
int skipIndex = input.Select((x, i) => new { value = x, index = i }).Where(x => x.value.Key == "a").Last().index;
List<KeyValuePair<string, int>> results = input.Skip(skipIndex + 1).ToList();