We recommend that you only use C languages and Win32 APIs for any add-in components that are loaded by core operating system processes. [...]
The behavior of any high-level language, framework, or runtime in the components that are loaded by key operating system processes is undefined. For example, the Microsoft .NET Framework and the common language runtime, were not designed to run in the context of core operating system processes.
Read KB article @ MSDN
(Somewhat obvious I think, but I wonder if someone tried that, so that Microsoft decided to publish this article at this point...)