Not sure how easily this can be fixed. Perhaps there should be a limit on its size?

I can see if I can run it completely asynchronously.