I don't know if this information will be helpful for those who are also trapped with M1 or for future debugging, but I found a rather consistent pattern of crashing and potentially a way to avoid it:
Opusmodus on M1 always crash during threading.
So be patient. Wait until the interpreter finishes its job and then execute the next block of code. This also applies to any manipulations on the GUI, like saving files, function search, etc.
I know it sucks. But to make it suck less..
A side note. Earlier this year I helped upgrading a bunch of Python apps for M1, which also had issues of intermittent crash and it turned out the problem was also with threads. In that case the issue was solved when some problematic lines of code were removed (calling certain parent class methods during threading).