I've come up with a theory that I think matches what I observe. It seems that my laptop gets into the bad state if I suspend too quickly after hot unplug from thunderbolt. If I wait long enough after hot unplug that all the thunderbolt devices are fully removed, then the system remains fine. If I suspend while cleanup is still going on, then upon resume the system confuses itself trying to deal with devices that are no longer there (and that never get cleaned up).
I've come up with a theory that I think matches what I observe. It seems that my laptop gets into the bad state if I suspend too quickly after hot unplug from thunderbolt. If I wait long enough after hot unplug that all the thunderbolt devices are fully removed, then the system remains fine. If I suspend while cleanup is still going on, then upon resume the system confuses itself trying to deal with devices that are no longer there (and that never get cleaned up).