If an object is both registered for finalization and is weakly referred to from a weak table, finalization occurs first, with weak references being removed afterwards. That is, reachability is defined in terms of strong references only, as far as finalization is concerned. Weak references die only when an object's storage is finally reclaimed.
For more on weak tables, see Section 1.3.3 on page 4.