There are several event loops running during the closing of the DIALOG_CHOOSE_COMPONENT: its own event loop which may have only been scheduled for exit rather than actually exited, and even if that is fixed there's the event loop of the progress-reporter from the FOOTPRINT_SELECT_WIDGET.
So I think Seth is on the right track with removing the dialog from its parent so that it can go ahead and die on its own.
There are several event loops running during the closing of the DIALOG_ CHOOSE_ COMPONENT: its own event loop which may have only been scheduled for exit rather than actually exited, and even if that is fixed there's the event loop of the progress-reporter from the FOOTPRINT_ SELECT_ WIDGET.
So I think Seth is on the right track with removing the dialog from its parent so that it can go ahead and die on its own.