I don’t think I’m following your point. That C# isn’t a VM language because there exist AOT compilers? That’s fine; my point is unrelated to the VM/interpreter/AOT taxonomy—just that dynamic languages aren’t particularly performant. I’m happy to concede the “C# is/isn’t a VM (even though 99% of production deployments are VMs)” point if it matters to you.
Oh well this VM meme is getting old,
https://www.ptc.com/en/products/developer-tools/perc
https://www.excelsiorjet.com/
https://docs.microsoft.com/en-us/dotnet/framework/net-native...
https://docs.microsoft.com/en-us/xamarin/mac/internals/aot
https://docs.unity3d.com/Manual/IL2CPP-HowItWorks.html