I keep getting asked about AppDomains in interviews, and I know the basics:
I still don't get what makes them necessary. I'm looking for a reasonable concrete circumstance when you would use one.
Answers:
Anything else?
Probably the most common one is to load assemblies that contain plug-in code from untrusted parties. The code runs in its own AppDomain, isolating the application.
Also, it's not possible to unload a particular assembly, but you can unload AppDomains.
For the full rundown, Chris Brumme had a massive blog entry on this:
http://blogs.msdn.com/cbrumme/archive/2003/06/01/51466.aspx
https://devblogs.microsoft.com/cbrumme/appdomains-application-domains/