The separate app domain is used so we discover which assemblies contain modules, and then load those in the main app domain. Once you load an assembly, you can't unload it. Now we looked into using the reflect only option so we could use only one domain, however
we found that there was still some baggage left around.