Picard can show the messages "QObject::startTimer: Timers can only be used with threads started with QThread" at various places. I could reliably reproduce this with e.g. the BPM plugin.
While I had not previously experienced any issues with this, on my current system this leads to wrong functionaning and actions caused by the timer not being executed. Not sure if update to Python 3.10 has to do anything with this.
In any case, the change in https://github.com/metabrainz/picard/commit/96f492c357457f60504ebf75b0ab1a5b8747edd7 in hindsight was a bad idea. A Qt app should definitely use QThread, everything else is calling for trouble.