The reason why you continue to see the hosts in arp's output is because of how arp works. The command arp manipulates or displays the kernel's IPv4 network neighbor cache. It can add entries to the table, delete one, or display the current content. If you choose arp or arp -a, it will print the current content of the table. In order for you to check if the host is still connected you will have to delete it from the table and then run the command again.
You can find more information about arp in Linux and UNIX arp command help and examples.