If you block ALL outgoing ARP requests, you won't be able to establish any network connections besides perhaps broadcast stuff.
The problem is perhaps that you're sending unnecessary ARP requests. I have seen this when the default route is simply declared to be the outgoing network interface and not a gateway. This means that the system has to do an ARP for all outgoing IP addresses and that can be a lot if you're serving e.g. a website to the whole world.
The solution in that case was to change the default route to a gateway IP address and not to just an interface name. Now the system only needs to send ARPs for that gateway IP address, which is cached and hence only done at most a couple of times per minute instead of for every unique IP address that connects to your system or your system tries to connect to.
The second line of your
ip ro sh output is a (the?) problem; you are routing traffic for your /29 subnet via the gateway router, which presumably sends out ICMP redirects to the real host. You should simply delete that route, as the third line will take care of traffic to hosts within your subnet. Please investigate how that route has been added to your system.