That's a pretty wasteful mechanism you have there. Not only is Vector3.Distance rather expensive (at least more so than checking the square magnitude), you're doing this every frame. You could do it in fixed update or have a coroutine do it every quarter second.

Alternatively, you could just use a trigger sphere collider that checks for things entering within a radius of three.