Exiting the entire process on uncaughtException with an error is the correct move here, the daemon is responsible for restarting it. Our hypothesis with the whole 5 threads thing seems unfounded based on some of the testing I did and more likely related to the unpredictable behavior of node processes in an uncaughtException state. We can go over this tomorrow some more.