While trying to fix a random plasmashell crash I was getting fairly often (and I hoped was fixed by David's last spacer fix) I found that the cause was actually in virtual desktop pager.
The virtual desktop pager is hidden when there's just one desktop and it will not update its models in this case to save resources. Back when I added this I already noticed that sometimes the pager (usually after one "open and close panelcontroller" cycle) still thought it was visible. It was even weirder than that, I found out that on teardown it suddenly thought it became visible. This had it populate its model which in turn spawned QML items, all of this whilst the panel was already in the process of destroying its children, leading to a crash.