title: My dll won't unload even when i unload appdomain
body: <p>I can not understand why my DLL is still in the memory of the program after I did AppDomain.Unload. Can I do something wrong?</p>
  
  <pre><code>AppDomain appDomain = AppDomain.CreateDomain("MyAuthDomain");
  appDomain.DoCallBack(load_Auth);
  
  var isLogin = (bool)appDomain.GetData("IsLogin");
  
  AppDomain.Unload(appDomain);
  
  private static void load_Auth()
  {
      var form = new Compiler(File.ReadAllBytes(Environment.CurrentDirectory + @"\form.dll"), "form");
      form.InvokeMember("ShowDialog");
  
      AppDomain.CurrentDomain.SetData("IsLogin", (bool)form.GetField("IsLogin")); 
      form.Unload();
  }
  </code></pre>
  
  <p><strong>P.S.</strong>
  How i understand that the DLL remains in memory? NETUnpack tells me.</p>