I'm a long time .NET developer and I love the framework, language (C#) and developer tools (I use Jetbrains Rider). However, if there is one thing I have to find that I do not like it is this. It is extremely common to find over-engineered .NET codebases, and the developers will just blindly follow some best-practices document from Microsoft without asking themselves whether all of it is necessary.
I once had a developer commenting on one of my blog posts who was very angry that I did not use a proper layered architecture in the blog post :)