Было бы неплохо иметь OrderedDictionary<TKey, TValue> в библиотеке.
Со своей стороны на днях закину OwnedCollection<T, TOwner> и OwnedCollection<T, TKey, TOwner> — автоматически заполняют (и очищают) владельца у элементов, добавляемых / удаляемых из коллекции.