>>5
I don't understand your usage of the term "bloat"
In both C# and Java you design in the knowledge that the target machine will also have the libraries you're using (read: gluing together with minimal creative effort) available. Both the sauce and the binary tend to be really small as a result.
There are plenty of reasons not to like Sun's "look we made another piece of crap" and Microsoft's "ours is a better piece of crap" but I can't understand "bloat" being one of them.
As a friend of mine who has the misfortune to work as a codemonkey put it:
"Also, the resulting binaries are exceptionally small because most of your codebase is already deployed to the user's computer (.NET). I built a full blown server app using public-private key encryption for the network transfer and a database backend, and the binary was 20 kbytes. Awesome."