I think that's more a property of the C# code that's out there rather than a property of .NET or C# themselves. A lot of (most?) C# and Java code in the world is over-abstracted over-engineered and life-sucking just by virtue of them being popular corporate languages and most code being boring. Using C# with Unity, for instance, is a pretty good experience though.
That really depends on the developers involved. Some people like building over complicated complex nonsense to justify their existence, while others build very lean/shallow code and go on with their lives.
The code I write for production in the "realworld" is maybe 1/4 as complex/convoluted as the academic stuff we did in university. And lines of code -wise, maybe 1/10.
You don't need to build an excavator to add some dirt into potted plants, but I can bet there will always be people who build a space-grade shovels with redundant enterprise level handles that guarantees maximum soil filling rates, even when under water... but not everyone is like that. C#/.Net Core definitely doesn't throw you down that path.
I personally don't like AspNet Core, as plenty of the old mistakes are being repeated, some of the same patterns exists, which I'd argue Microsoft had the opportunity to move away from, but didn't. But .net core itself is pretty great (and lean, no overabstraction in the core system).