I have the exact same problem at three of my customers.
The Azure Active Directory Sync is set to read-only. Ordinarily a full sync completes in about 4 hours, but every now and then, it keeps running for days. It will keep running until someone restarts the Job-Server. All the sync's after this one will produce a frozen job with error "same full sync is still running".
If you look at the log, no errors appear, and you see pages of normal updates. None the less it says "Running" and never ends.
Two of the customers are on 8.1.5, but one is on 9.1.1.
I tried turning on diagnostics for the Job Server but this just produces millions of lines of trace info.
What can cause the sync to hang? How can I diagnose this problem?