Нет, Windows работает не так.Загрузка DLL просто создает файл с отображенной памятью, на самом деле ничего не читается из файла, кроме перемещений (при необходимости).Пока ваш код не вызовет экспортированную функцию.Что вызывает ошибку страницы, потому что код еще не был загружен.Теперь код читается из файла в оперативную память.Если для других процессов требуется место, страницы просто не отображаются.Повторная загрузка при следующей ошибке страницы.
MMF устанавливает жесткую блокировку файла.Вы можете только переименовать его, но не перезаписать или удалить.Это может привести к сбою программы.Снимите блокировку с помощью FreeLibrary ().