If a client run multi threads and each Thread use it's own InitialContext the behaviour is unexpected.
The behaviour is as followed:
if each invocation create it's own IC and lookup the EJB there is sometimes a EJBCLIENT000025 because one of the one thread has closed the IC until another thread try to invoke an EJB.
If the IC is reused the failure might happen only if the first Thread has finished the invocations and close the IC during other Threads are still running.
It looks that the underlying remote connection will be closed if the first IC is closed without respect that there are different IC's created and still in use.