Главное, что мы поняли друг-друга
a7s1h1,
Удалять внуков не обязательно, если вы удаляете их родителя, в котором они лежат. Главное, что-бы на этих внуков ещё кто-то не ссылался, кроме их родителя. КорДум вам уже это посоветовал.
Удалять подписчиков можно и нужно, особенно если вы не на 100% понимаете весь замут с этими диспетчерами. Вы так-же можете использовать при подписке - "слабые ссылки", которые не препятствуют удалению объекта, если на него больше никто другой не ссылается.
System.gc()
Работает только в дебаговом режиме, (нужно для отладки). В релизной версий, вы никак не можете самостоятельно вызвать или повлиять на gc.
Ваша главная задача для удаления - не оставлять ссылок, исключением могут быть только "слабые ссылки".