Это распространенная проблема со слабыми ссылками. Сама ссылка остается в живых, потому что на нее есть нормальные указатели. Как вы предлагаете, вам нужно время от времени делать некоторую «ручную сборку мусора». Обратите внимание, что вы, вероятно, можете очистить заглушки на своем пути, когда переходите по списку по другой причине. В зависимости от шаблона использования списка, эта «сборка мусора на стороне» может быть даже достаточной.
Не "часто" просматривайте список с единственной целью его очистки! Каждая мертвая заглушка тратит впустую пару слов памяти. Если список не используется часто, вычислительные затраты на его очистку часто неоправданны, и если он используется часто, он будет очищаться, как предложено выше.
Это вообще другая система сбора мусора, но проблемы настолько схожи, что вас может заинтересовать эта статья , если вы сможете ее получить.