Fix race condition in WeakReference<T>: gc could occur between checking IsAlive and returning Target.