I was browsing through the Stein book as I was curious and it mentions a very high overhead for the object-oriented socket implementation. I am not sure if this is still true.
On my Solaris machine one purely sleeping one thread consums about 1 MB memory.