Sí. Siempre obtendrá mscoree.dll cargado, ese es el programa de arranque para el host CLR predeterminado. Es una DLL no administrada. Cada ensamblado .NET contiene un poquito de código nativo, solo un salto en esa DLL. Sin embargo, es cargado directamente por versiones recientes de Windows, el cargador del sistema operativo tiene conocimiento de .NET incorporado. Puede verlo en la ventana Depurar + Módulos cuando activa la opción de depuración no administrada, Proyecto + Propiedades, pestaña Depurar. También verá mscorjit.dll, mscorwks.dll y msvcr80.dll, otros tres fragmentos de código nativo necesarios para ejecutar el código administrado. Respectivamente el compilador just-in-time, el CLR y la biblioteca de soporte C-runtime. Tienen diferentes nombres de DLL en .NET 4.
Técnicamente es posible no cargar mscorlib.dll, el compilador tiene la opción/nostdlib para evitar una referencia a ese ensamblado. Prácticamente eso solo funciona si proporciona un sustituto, así es como se compila Silverlight, por ejemplo. De lo contrario, es un ensamblado de modo mixto con código nativo pero en su mayoría código administrado. Hay una versión separada para el marco de 64 bits debido a eso. También verá mscorlib.ni.dll con la depuración no administrada habilitada, esa es la versión ngen-ed del ensamblado.
No estoy seguro del modificador del compilador ('/ nostdlib') pero la opción visual en las propiedades del proyecto -> pestaña de compilación -> avanzada ya no está en Visual Studio. Lo vi por última vez en Visual Studio 2010 cuando ingresas a las propiedades del proyecto donde solíamos tener una casilla de verificación para dejar de referir la defafía 'mscorlib.dll'. A partir de todady, no es posible crear una aplicación .Net a través de Visual Studio sin referir 'mscorlib.dll' más. – RBT