An application domain is a mechanism (similar to a process in an operating system) used within the Common Language Infrastructure (CLI) to isolate executed software applications from one another so that they do not affect each other.
[1] A CLI application domain is contained within an operating system process.
It runs a single process that contains a number of sub-processes, or application domains.
The advantage of application domains is that running multiple application domains may require fewer resources, such as memory, than running multiple operating system processes.
Because of the verifiable type-safety of managed code, a CLI can provide fault isolation between domains at a much lower cost than an operating system process can.