The limit in the Windows implementation of the hub isn't the sockets or files, it is because the design of the code relies on the Windows handle function that waits for an event affecting the handle. That call only takes 64 handles at a time. As such as soon as you have more than 64 things (generally speaking this is tunnel sessions and queues combined) for the windows hub to do problems arise. There is supposedly a fall back the windows hub does when the 64 count is exceeded where it moves from an event driven approach to polling but that doesn't seem to work.
In my experience, with the Windows hub, if you have a structure where you have one queue for each tunnel, you will see instability when you reach 30 active tunnels. And because this is paying attention to sessions, getting 30 tunnels running simultaneously will be a problem and will take 20-30 minutes to settle down each time you restart that hub.
The Unix hub doesn't have access to the windows handle event functionality so it is a little different and you will generally be stable up to 50 tunnels+queues. It relies on the select call to identify when attention is needed and that is limited to 1024 contiguous file descriptors. Each tunnel session and each queue and each open file gets a descriptor and o these get used up pretty fast too.
If you are pushing these boundaries, you will want to use the hub 7.72 release - it's the best behaved.
And at this point, if you are mixing tunnels and queues, I'd recommend doping all your tunnels (at least the server side of them) with a Unix variant. Keep the Windows hubs to queues only.
-Garin