В другом вопросе говорит Stephen C:
Второе беспокойство - то, что существуют издержки во время выполнения с использованием слабых ссылок. Очевидные затраты являются теми из создания слабых ссылок, и вызов входят в них. Менее очевидная стоимость - то, что значительная дополнительная работа должна быть сделана каждый раз выполнения GC.
Таким образом, что точно стоимость к GC слабого касательно? Какую дополнительную работу это должно сделать, и насколько большой из соглашения это? Я могу высказать некоторые образованные предположения, но интересуюсь фактической механикой.
Пожалуйста, ознакомьтесь со статьей Джеффри Рихтера о управлении памятью в .NET , она должна немного прояснить ситуацию.