it should be working based on your conditioning there (unless the case where A overlap A doesn't work), it might be your "else condition" destroys the 2nd object as soon as the other one disappears form the screen, this happens in a matter of 1 tick or 0.015ms to us watching the screen looks instant or as both getting destroyed.
in your conditioning what Else does is
If A overlaps A pick nearest to XY destroy
Else (in this format means, if A is close to XY destroy) < you don't need this or you might need a 2nd condition under else if you want for 2nd object to get destroyed at a different time.