NO! it's not memory.
You have two different issues
- frequent disconnects
- failure to honor a release/new cycle
Let's talk about your ISP connection - -
WHO is it and what type {Dsl, Cable, Satellite} ?
DSL has special considerations which requires a filter on every device connected to the phone line OTHER than the modem. This is a direct contributor to the disconnect problem (*IF* you're using dsl)
You ought to get the make/model number of the router and look for a firmware update (regardless of {Dsl, Cable, Satellite} as you ought to be able to renew).
Here's a test you can run to determine if your router needs to reassemble packets:
get the command line and enter:
ping -f -l 1500 google.com
the character between the -F and google is an ELL in lower case.
My results are:
C:\Users\Jeff>ping -f -l 1500 google.com
Pinging google.com [74.125.224.168] with 1500 bytes of data:
Packet needs to be fragmented but DF set.
Now repeat that test by reducing the 1500 by -8 until it replies
C:\Users\Jeff>ping -f -l 1440 google.com
Pinging google.com [74.125.239.0] with 1440 bytes of data:
Reply from 74.125.239.0: bytes=1440 time=18ms TTL=53
My test of the value just above that produced:
C:\Users\Jeff>ping -f -l 1448 google.com
Pinging google.com [74.125.239.0] with 1448 bytes of data:
Request timed out.
When packets get fragmented, the router needs to do extra work and not only is that a performance hit, but also a vector for network virus' - - so help the poor thing along by setting the MTU in the router itself.
Set the MTU to the highest value that replies with times and does not timeout.