Either the Switch or libnx doesn't release allocated memory for std::thread after the thread is cleaned up and joined. This fixes memory starvation issues resulting from re-creating threads when reconnecting repeatedly by initializing threads once and reusing them.