The virtual address arp/icmp settings affect only traffic destined for the virtual address itself. It does not stop icmp traffic from flowing through the virtual server to a remote destination. You could setup packet filtering on bigip, Network>Packet Filters, to block icmp but note this will block all icmp attempts not just those for your 0.0.0.0/0 VS.
I am guessing your 0.0.0.0/0 VS Protocol setting is set to "*All Protocols". This is what is allowing the VS to process icmp. If you desire TCP/UDP only you could create two 0.0.0.0/0 VS, one for Protocol:TCP and the other for Protocol:UDP.