I only had a few minutes to look for obvious things, so I don't have a solution, but I do have some observations.
1. You've done a pretty good job at organizing the code from what I've see, so +1 to that.
2. You seem to be under the impression that child_process.fork() spawns threads, when it is actually spawning entire new node processes.
In light of #2, you could be hitting OS enforced limits for things like the number of processes per user. Given that each process creates a new IPC channel, you could also be hitting a file descriptor limit. It's not clear which concurrency parameter you are referring to in your post, but I would suggest keeping your "thread" parameter tied to the number of CPU cores (0.5x-2x depending on the type of code being run).
~Ryan
--
Job board: http://jobs.nodejs.org/
New group rules: https://gist.github.com/othiym23/9886289#file-moderation-policy-md
Old group rules: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
---
You received this message because you are subscribed to the Google Groups "nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nodejs+un...@googlegroups.com.
To post to this group, send email to nod...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nodejs/267a1ccf-27cc-4a82-8009-d3794c56fcf8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
~Ryan