scheduleDelayedDestroy
Schedules a cancellable delayed teardown, reusing the destroyMatchTask slot so it is cancelled by cancelDestroyMatchTask()/cleanupInstanceReferences() like every other instanced-dungeon task. Used by subclasses (e.g. enchantment challenges) that want a custom teardown delay without leaking a fire-and-forget BukkitRunnable that pins the instance in the scheduler.