Your guess of limited connections may be correct. In the past, I've run into a number of problems with Tor opening large numbers of connections (relatively speaking, as I was doing research on Raspberry Pi - 400-500 connections would be fine on many machines but on the Pi it was taking up a lot of RAM). So, under some conditions, Tor will cause hundreds of connections to be open on your machine and/or NAT router.
Bittorrent is another very well-known culprit in opening hundreds of connections, and in fact the problem is often worse, because as it attempts to contact peers that are no longer present, it may leave a "half-open connection" in your NAT router's routing table that is useless but takes a while to time out.
In many cases, consumer NAT routers support a limited number of NATed connections, anywhere from 1024 to 10240 (typically). And, the router's UI may tell you you can enter a number from e.g. 0-4096, but each open or half-open connection takes RAM; when the router runs out, it may do so at a lower number than the maximum you expect, and thus often new connections will start failing. Since Bittorrent typically only connects to trackers once in a while on an established torrent, say every 30 min, these are "new" connections which may fail in such a condition.
Other symptoms you're likely, but not guaranteed, to see if this is actually your problem:
- Existing, persistent connections (streaming audio, video, persistent web apps) will often continue to function but may fail when restarted.
- New connections often time out or fail.
- When loading web pages, you may see frequent "partial loads," e.g. where the content comes in, but the style doesn't, and ads load but images don't. Each connection to a different server providing content for a page load has to roll the dice and hope for a free slot, causing this behavior.
If you're seeing behavior like this, typically there are a number of things that can be done.
- Reduce the global number of connections allowed in uTorrent. If you are running into a NAT logjam often, this can actually increase performance; and if you don't choke it too hard, it rarely decreases performance. You may see slower ramp-up on new torrents, but Bittorrent maximizes performance on its own and after the first minute or two on a well seeded torrent, fewer connections per torrent won't matter much.
- Reduce connection timeouts on your NAT router, especially for unconfirmed connections, half-open connections, connections in TIME_WAIT or SYN_SENT.
- Increase the number of allowed connections on your NAT router, but make sure one way or another that it's not lying to you about the maximum it can handle. If this doesn't work well, you may wish to consider buying a router with more RAM and installing a FOSS firmware like Tomato.