In a straightforward single-threaded Qt program the timer will go off, and the auto-save called, only when the program returns to the Qt event loop. If your program is busy doing some processing that does not return to the event loop, e.g. a 5 minute computation, then it will not be interrupted. While the save is occurring the program not be doing anything else, which can be a problem if that takes a long time.
You probably also need to be defensive and auto-save to somewhere other than the real file, and only overwrite the real file if the user selects Save deliberately. On file open look for the matching auto-save and, if found (because the program crashed last time), offer to use that instead. Depends on your application though.
Bookmarks