To reuse the same NGEN image of an assembly for every domain in a multi-domain environment, the assembly has to be loaded as domain neutral.
To enable domain neutral assemblies, the host must enable domain sharing when it starts CLR.
This is all discussed in my previous blog Domain Neutral Assemblies. Specifically,
If the host did not enable domain sharing when it started CLR, NGEN image will be used in the first appdomain. The other appdomains will JIT compile the assemblies.