Я столкнулся с той же проблемой, и в моем случае просто невозможно изменить весь мой объектный граф с IEnumerable на основе итераторов на конкретные типы. Я просто не могу позволить себе преобразовать память в конкретные типы, такие как List или Array. Кроме того, что касается случая, когда я возвращаю IEnumerable некоторого объекта, который имеет свойство IEnumerable. Недопустимо, чтобы мне пришлось пересматривать весь мой объектный граф, преобразовывая все IEnumerables.
Я не вижу веской причины, по которой DataContractSerializer не может выполнить итерацию любого типа IEnumerable и отобразить его элементы в XML так же, как и любой другой тип коллекции, даже если IEnumerable не имеет конкретного вспомогательного типа.
Это ошибка, которая должна быть исправлена.