Quick answer: Unity Editor throwing job-handle-not-completed errors when exiting play mode? Outstanding jobs survive into the domain reload - complete or dispose handles in OnDisable.

Stop play mode. Console: JobHandle.Complete() not called for scheduled job. Repeated 30 times.

Complete in OnDisable

void OnDisable() {
  jobHandle.Complete();
  array.Dispose();
}

Symmetric with OnEnable. Domain reload calls OnDisable; outstanding handles get drained.

Use SubsystemRegistration

For static job pipelines, register cleanup via RuntimeInitializeOnLoadMethod(SubsystemRegistration). Fires before domain reload.

Or use temporary allocator

For per-frame jobs, Allocator.TempJob. Engine cleans up within 4 frames; domain reload finds nothing in flight.

“Jobs are explicit lifetime. Domain reload doesn't observe your in-flight handles.”

If your project disables domain reload for fast iteration, completing jobs becomes non-optional. The errors are louder but the bug is the same.