This is what I expected ("better java"), and was disappointed when it was basically just more of the same. My college courses were in Java (and of professional work after college), and while I strongly disliked it as well, if I had to pick I would pick Java(or some other JVM language)+JVM over C#+CLR -- C# just didn't deliver on being better than Java in any appreciable way to me.
Could you think of something specific that you find a joy to do in C# that isn't a property of the IDE? "true" async/yield (completely stopped coroutine) is one of the things I was excited about, but quickly annoyed when the interface to `Task`s was so bloated and unintuitive... Why would somone call `.CountinueWith` on a task and NOT expect the result? Maybe I'm just expecting a specific interface out of `ContinueWith` that isn't there