Use of AppDomain.Load()

More from inside the
walls.. From the dev that owns the loader...

AppDomain.Load() is only meant to be called on the current
AppDomain (for use by Interop callers). If you call it on a different
AppDomain, if the assembly successfully loads in the target appdomain, it will
then be loaded in the current appdomain, causing the FileNotFoundException for
you./>

If you need to execute an exe, you should use
AppDomain.ExecuteAssembly() instead.
Otherwise, you should change to use Assembly.Load() from within the
target appdomain. To do that, create a type which extends
MarshalByRefObject in the target appdomain, and call Assembly.Load() from a
method in that type. Be sure to not
pass any types/assemblies (besides your MarshalByRefObject type) back to the
original appdomain. See
https://www.gotdotnet.com/team/clr/AppdomainFAQ.aspx#_Toc514058497 for
more info on how to do that.