When setting up a (parent) constraint that is only meant to freeze an object to the world and otherwise return it to it's original location (i.e. back to the hand), doing so with 0 sources (as there's really no need for any sources) will cause the object to be offset instead of snap back, this behavior is gone if any source is added, even if the source/constraint weight is 0.
Repro:
  1. Add a parent constraint to an object that's placed on the hand, leave it with 0 sources
  2. Activate "Freeze to world"
  3. Move away from the object
  4. Disable "Freeze to world"
  5. Observe the object being unfrozen, but offset
Adding any source (with a transform) fixes this, regardless of weights.