I know this is a super old post...
But I've managed to reliably build and boot a C# kernel using a combination of Microsoft's C# IL and native AOT compilers and the GNU toolchain.
You can find it here: PatienceOS, A baremetal C# kernel
I'm actively developing it and writing documentation.