The strong reference would remain, so the object is not eligible for collection. As JVestry points out, if you create the weak reference with a queue, then wr.enqueue() returns true as expected.
A potential use for this would be to have your handler be able to operate on an object subject to either its pending garbage collection or some other system state change where you would want to take the same action as if the object were being collected, e.g. maybe you keep a soft reference to something that holds system resources so that the system can handle a low memory situation while you are still able to manage closing the resources yourself if you finish normally.
On the second question, a reference is only enqueued once, whether you do it with enqueue() or the gc does it for as a part of a collection.
EDIT It is important to remember that the relationship between the referencequeue is to the reference, in this case wr, and not the referent, in this case s. You could have multiple weak references to the same object and achieve multiple enqueues (sort of), one for each weak reference. But, it is the weak reference that is in the queue, not the referent, although it ought to still be reachable from the weak reference. See javadoc on java.lang.ref in the Notification section for more details.