I'm not an expert on this, but @mkx educated me on this the other day. According to RFC2131
https://tools.ietf.org/html/rfc2131 Both server and recieving client should check the allocated address is not already in use.
As a consistency check, the allocating server SHOULD probe the reused address before allocating the address, e.g., with an ICMP echo request, and the client SHOULD probe the newly received address, e.g., with ARP.