Hi @Jvdv !
To clear the table you can use 'reset arp all' command, but doing it every time the ARP table is full is ... inefficient, at least.
What you need to do is to get the output from 'display arp all' and carefully analyze it. If all records there are legit, then you simply need a switch with bigger capacity.If your network has more than 256 hosts, but not all work simultaneously and you are sure that at every given moment of time number of active hosts is below 256, despite the fact overall number is bigger, then you can tweak the aging time for dynamic ARP entries in minutes 'arp timer aging <minutes>' starting of very aggressive 1-5 munutes and see if it improves the situation. This will increase number of ARP traffic in your network, but the ARP table will age out inactive hosts more aggressively and thus will free up the ARP table.
If you see any suspicious records in the table that do not belong to your network, then just investigate how those records appeared in the ARP table - trace them to the source and eliminate the issue. If there is an interface that is connected to the segment that you do not control and unknown ARP records come from there, you can limit maximum number of dynamic ARP entries that an interface can learn using 'arp max-learning-num <number>' command.
Hope this helps!