Description
From #6300:
This is a mess of a race condition in the BackgroundThread api. What is happening is that the BackgroundThread doesn't actually hold a strong reference to its QObject parent and thus the view is getting destroyed while the thread is running. The thread only checks that its parent exists between each task, and doesn't actually stop its parent from being deleted mid-task. I'm looking into a way to have QObject::destroyed wait for the current task to finish before actually destroying the object, though this is quite janky.
There's been some additional discussion about this at the office wrt futures and whatnot. I don't remember all the details, but I'm making this issue so we don't lose track of the fact that this is still a problem in some contexts.