AppDomain.Unload предлагает то, что вы ищете, но я бы не рекомендовал это.
Есть много уловов; Разрушение домена приложения программным способом не обходится без его собственного набора проблем (то есть, если поток заблокирован в собственном коде, вы можете увидеть CannotUnloadAppDomainException ) и, как правило, плохой дизайн, IMO.
То, что вы пытаетесь сделать, очень нетрадиционно; Я бы пересмотрел подход все вместе. Если вам просто нужно выполнить какой-то код один раз на уровне домена приложения, есть много лучших способов сделать это, например, статические вычисления или флаг в кеше HttpRuntime. Просто обратите внимание на сценарии веб-сада и параллелизма.
Удачи.