Prevent dialog content flicker, identity changes, and stale exit callbacks by creating an immutable instance for every opening and destroying it only after its closing transition completes. Use when React dialogs, modals, sheets, popovers, or animated overlays reuse shared state, change copy while closing, briefly switch the selected item, or need reliable open/close lifecycle ownership.