Sc.pp.regress_out() with large datasets

I’m having trouble regressing out cell cycle genes in large datasets as this is taking hours or often getting out of memory errors (with 800G). I’ve tried increasing the n_jobs parameter but it still takes quite long. Why is it faster to regress_out cell cycle genes in Seurat (within an hour)? Is there a difference in these two functions where one might be converting sparse into a dense matrix?