Problem:  When you run “show arp” on an edge router/firewall you see thousands of public IPs.  This will eat up the memory and cause things to run slowly.  I even saw in once case where “show run” revealed nothing, it would just come back blank because there wasn’t any memory available to perform the command.

Solution:  Chances are the default route is using an interface as a destination and not an IP.  Such as

ip route 0.0.0.0 0.0.0.0 Gig0/0

Change this to use an IP address and not an interface.  If an interface is used then there is no MAC that can be used as a destination and so the router sends an ARP request for the destination IP and adds it to the local table.