c# is superior to Java in many ways. I especially like the fact that I can implements two interfaces with the same method names. That being said, beyond doing development for Xbox or windows phone, I see no reason to use c#, ever.
Lambdas are a very high level and powerful programming tool that absolutely *no* modern programming language should be without. I highly suggest that you investigate lambdas and functional programming a bit more before making such harsh judgements. I'm certain you'll find that you can do things with them that you wouldn't have otherwise thought possible.
They seem to be nothing but syntactic sugar.
x => x + x;
is equivalent to:
x += x;