Да неправильный это подход для некритических отраслей (а там тоже надо выбирать правильно сочетание методов. Например, если уж решается задача безопасной загрузки/выгрузки "на горячую", то сформировать схему выгрузки-загрузки и формально её доказать, несложно и вручную).

Из-за избыточности автоматизации всяких 10% редких случаев, которые можно отработать явно, вы и получаете на 80% раздутие софта (Парето при нескольких рекурсивных применениях вам и 98/2 даст в итоге). И добиваетесь обратного - падения надёжности уже на интеграции этой всей сложности и её жизнеобеспечении.

Управление памятью - это именно задача из разряда "на каждом углу в коде, размазана по всей площади". И её защита даёт 90% эффекта (убирая разрушительные для памяти процесса ошибки и уязвимости для атак).

Выгрузка модулей - совсем не то самое.