Version 1.0 of the C# specification clocks in at 405 pages. There was an addendum in 1.2 that I'll leave out, because it was a respecification of 1.0.
2.0 came along and added 117 pages of specification - including generics, partial classes, iterators, and a handful of other things. On pure specification, that's a growth of 25% to the core language. (I know this isn't really scientific, but I think you get my drift).
Then in 3.0, just 2 years later, the spec is back to over 500 pages (just for the language!). This version added a bunch of functional paradigm stuff to the language, lambdas, linq and the like.
And now in 4.0, they're talking about making C# essentially a dynamic language.
Now, all this being said, I really do like C#; but I think that it behooves everyone who likes C# to admit that it's a large and evolving language; the paradigms that Microsoft keeps adding to the language don't really seem to fit from one version to the next.
4.0 will not essentially be a dynamic language. They're making it much easier to interop with dynamic languages by adding some dynamic constructs, but it's still as statically typed as ever. 'dynamic' is a shortcut to save you time, not re-invent how you work with C#.
Java seems to be no exception: http://en.wikipedia.org/wiki/Java_version_history
I think that "constantly balooning specification" is an overstatement. Look at the release timeline:
Four versions over that span is hardly "constantly balooning". The .NET framework revs slightly more often with SPs, but major versions are on about the same pace.