"Pick by UID" picks a single instance. All subsequent conditions operate only on that picked instance. Therefore "Square overlaps square" only tests whether the instance overlaps itself, which isn't a useful thing to check, and in this case is always false.
If you want to test other instances ignoring the picking, add the object type to a family, and test if it overlaps the family instead. This works because families have independent picking in events.