Will action procedures are “single shot”. When the GC detects that an object has become weakly reachable, it schedules the will’s action procedure to be executed. This happens only once. If you want to detect subsequent transitions from strongly reachable to weakly reachable, just create a new will for this.