Это потому, что KeyValuePair<K,V>
не является классом, является структурой. Преобразование списка в IEnumerable<object>
означало бы, что вам нужно взять каждую пару ключа и поставить его:
IEnumerable<object> test = new List<KeyValuePair<string, int>>().Select(k => (object)k).ToList();
Поскольку вам нужно преобразовать каждый элемент в список, вы не можете сделать это просто листинг самого списка.