Every time a piece of data goes out of your network to the internet, your router memorizes the path, in order to forward the corresponding incoming reply from the internet to the correct computer on your internal network.
So the router maintains in its internal memory a routing table. If you have many different connections active, this table becomes very big.
One thing, that uses many active connections at the same time is filesharing via the bittorrent protocol.
The bittorrent protocol has an add-on protocol, DHT, where bittorrent clients help each other to find more participants in various torrents. This protocol has even bigger appetite on parallel open connections.
Thing you can try:
1. If this is a company network, maybe some kind of firewall could help you follow and control how internet is used? (Tip: if you enable UPnP, and your router runs, say tomato-wrt, then you'll get a table of clients requesting port forwarding, and you'll see who's doing filesharing and other resource-demanding things)
2. If you're using bittorrent, try disabling DHT.
3. Get a router with a larger memory capacity. If you can't replace the ISP provided router, put it in bridge mode or declare your new routers address to be DMZ, so that it will anyway get all traffic.
4. Depending on your router's internal logics, there's a chance that correct port-forwarding may allow the router to memorize less dynamic return routes.
5. If your router allows it, you may also try to shorten the time it keeps a connection open. This will allow the router to discard table entries quicker.