With torrents, you either have way too many connections for your equipment to handle or you've got the upload running full speed. I've been seeding the Ubuntu torrents for a few days now and the Internet here works fine. Typically, when seeding torrents you should seed at 85% of your upload and you need to know how many connections your router can take (many of the more expensive ones can take a couple hundred. Others are bottle necked below 100 and will show NAT errors).
Here, the NAT table on my Linux router is massive due to the way I've set it up as well as how much RAM it has available to it. That's out of the question. My bottleneck is my upload, which is 1.5Mbps (180KB/s). I have my torrent client set to use full speed of upload, however whenever my router sees Internet activity here, it will throttle the speeds for the torrents down a bit. Other times, I will slow it down to use 1.3Mbps of upload, leaving me with 200kbps which will keep latency normal and allow me to not notice a thing.
But really, disable UPnP and logging on your router and that should free up some CPU/memory on it if that's the case. Also, if you're running uTorrent and you're manually port forwarding, run it with the following settings.
Under connections: Disable UPnP Port mapping and NAT-PMP port mapping.
Under Bandwidth, set the upload rate to always be 85% of your total upload in Kilobytes. Set download speed to unlimited (you can set this individually per torrent). Set number of connections globally to whatever your router can deal with, number of connected peers per torrent to whatever gives you the best speeds vs. performance, and upload slots per torrent to 4. Uncheck use Additional upload slots unless upload speed is low.
Under BitTorrent, enable Encryption, do not force it.