C# AppDomain explained