This is a TCP/IP operation system issue, not a JBoss issue. Google around for "TCP" and "TIME_WAIT" and read some stuff TIME_WAIT socket state und system tuning e.g http://www.octetstring.com/support/issues/Tuning-TIMEWAIT.php
No, this guy is creating InitialContexts in a loop. Man, creating an InitialContext is a expensive operation! How did you think RMI works? When in a bean, use the lookup methods of the EjbContext. On a client, create an InitialContext once. And don't forget to close it in a finally clause.
You mean do what is says in the spec?
And don't do what is says not to do in the spec?