1 - такого кода нет (см п3)
2 - в книгах/сети не особенно то и грешат, скорее вам пока не понятны пояснения что и когда стоит делать
3 - реально оценить, надо ли вмешиваться в сборку мусора, можно только профилируя конкретный проект, на предмет загрузки памяти, и на предмет отзывчивости, при определенной (достаточно высокой) интенсивности запросов (пользовательских или серверных)
для типичных настольных приложений, пауза, когда пользователь между кликами мышкой (нажатием клавиш) смотрит на экран и осознает реакцию программы - более чем достаточно для зачистки мусора
пока вы не столкнетесь с ситуацией больших поточных обработок(или больших потоков запросов в случае сервиса), при чем требующих существенного расхода памяти на каждой итерации/запросе - у вас и не будет возможности оценить потребность (или ее отсутствие) в ручном вмешательстве с сборку мусора
ps
Например:
Кусок кода 1. Мусор не собираем. Время выполнения 3 минуты.
Кусок кода 2 (переписанный кусок кода 1). Собираем мусор. Время выполнения стало 10 секунд.
если у вас комп с 4/8/16 Гб ОЗУ, а задача расходует 10-100.. 200-300 Мб - сборщик мусора вообще не будет вмешиваться (если конечно память не забита и так под завязку).. и за какие то 10 микросекунд очистит мусор, пока вы смотрите на слово типа
Finished и осознаете его значение .. как то так