The Java exception doesn't seem to say where the error occurred, but it’s probably ENOSPC or similar from a call to
pipe(2) or
fork(2). It could be caused by exceeding some process quotas, or limits like virtual memory or number of open file descriptors. The last one is possible if you’re creating lots of processes, but not closing all three streams associated with them when you’re finished.
You could try using tools like strace or truss to identify the failing system call; or alternatively, use something like
Apache Commons Net to do the Telnet protocol in pure Java.