Multiple user actions performed quickly could be blocked by undo compacting memory - if the background compacting task was not complete when the next undo step was pushed. Notes: - This and recent improvements to BLI_array_Store gives over ~2x speedup compared with 3.3x, over 10x compared with 3.4x. A sub-surfaced cube with the modifier applied was used for testing (~1.5 million polys), both randomized & non-randomized verts/edge/faces were used to avoid the sub-surface memory layout biasing the results. Tested transforming ~1/3rd of the mesh and inverting selection. - Without compacting mesh-data in parallel, the optimizations to BLI_array_store can give similar performance to 3.3x, however there are still cases where performance isn't quite as good - so compact the arrays in parallel to ensure performance is at least as good as 3.3x. Resolves #105046.