But it really is, in a sense that another program is required to interpret IL format, even if it is JIT-compiled after loading. Think of it similar to the ELF interpreter for dynamically-linked binaries.
Speaking of compilation to a self-contained binary, I hope in the future G# will support it. No mentions as of today though.
The reason to dislike .NET is Microsoft’s now weak engineering. Their cloud team has negative impact on the entire org, and Microsoft engineers like Raymond Chen seem to be a rarity.
Even former cash cows like Windows and Office are struggling and infected with Nadella and Azure/Entra/365/who-knows-what-next’s touch.
Speaking of compilation to a self-contained binary, I hope in the future G# will support it. No mentions as of today though.