Использование List<WeakReference>
не будет работать так, как я хочу. Я хочу, чтобы WeakReferences автоматически удалялся из списка, когда объект, с которым они ссылаются, собирает мусор.
ConditionalWeakTable<TKey,TValue>
тоже не удовлетворяет меня, потому что, хотя его ключи и значения слабо ссылаются и собираются, вы не можете их перечислять!