Project Snowflake: Non-blocking safe manual memory management in .NET
microsoft.com
microsoft.com
This paper cites "Simple, fast and safe..." in section 7 and explains the differences.
I know as someone who slings c# for the day job I'm super excited to try it out.
For something more professional and polished, there is Xenko, which runs on CoreCLR for some of its non-mobile targets. https://xenko.com/
Also, Unity itself doesn't really run on Mono -- it just has a scripting layer that hosts Mono on top of its C++ core. Perhaps not a useful distinction for you, but I thought I'd mention it.
(Note: I work on .NET Core at Microsoft)
At the same time the C#/.net programs are executed by the Common Language Runtime.
If you want to manage the memory allocation yourself you can.
Why not just pre-allocate a lost of objects and re-use / free those?
Think I'm missing something