In particular, what are the implications of running code in two different application domains?
How is data normally passed across the application domain boundary? I
It is an isolation layer provided by the .NET runtime. As such, App domains live with in a process (1 process can have many app domains) and have their own virtual address space.
App domains are useful because: