Maya dont really have events in the way you think.
Well yes to answer your question thsi is what you did worng. You dont do allmost anything with script jobs in maya. Thinking like this dont work in maya.
maya scripting and programming rule number 1:
scriptjobs arent for you. When they are your actually either doing something worng or you are really really on top of your game.
Still to this day i find that allmost 90% of all cases where people tought of using scriptjobs with maya they dindt need to in the first place
Scriptjobs arent really events the way you think they are. In fact if you keep thinking about using events in conjunction with maya you will pretty quickly notice that you have walked in the middle of a massive maze. Simply put maya does not work like this. Maya does not really trigger events except under extremely extraordinary situations.
See maya is a push and pull node network. And one of the exacting featurezs a of a push and pull network is that it rettymuch never spits out events in the way most novice programmers thing it ought to. Because it does not do so.
Yes offcourse since you suspended maya, mayas waiting for your gui to cease to run.
Yes see if you run code in maya main thread, in plain eglish if you run anything in maya without first migrating your code into a thread it blocks entire maya. So your only chance is to trasfeer all your code into a separate therad. and then communicate with maya via:
maya.utils.executeInMainThreadWithResult()
now this gives you a connection to maya. Now you should not rely on scriptjobs for back communication simply because they dont fire and work the way you would expect form experience of buiding guis with say windows forms. You should isntead use the maya API event callers which dont suspend whanever you most need them. And as long as you undesrstand what a push and pull network really does it will work fine.