Еще одна причина динамической загрузки DLL - это надежность.
Возможно загрузить DLL в так называемый домен приложений. Домен приложений - это, по сути, контейнер с песочницей, в который вы можете помещать вещи (либо в части DLL, либо в целые EXE-файлы) для запуска изолированно, но в пределах вашего приложения.
Если вы не вызовете тип, содержащийся в домене приложения, он не сможет взаимодействовать с вашим приложением.
Итак, если у вас есть хитрая сторонняя DLL или DLL, для которой у вас нет исходного кода, вы можете загрузить ее в домен приложений, чтобы она была изолирована от основного потока приложения.
Конечным результатом является то, что если сторонняя DLL генерирует колебание, это влияет только на домен приложения, а не на все приложение.