Compare a joblog from an earlier save to one of your recent slow saves.
Match messages and timestamps between the two joblogs to determine which step(s) are using all of the extra time. Show us the last message in the joblog that has a reasonable timestamp and follow it with the first full message that shows that a step took an extra long time to complete.
The system save functions (the program names) that were running at those times can give a clue about what elements were being saved. A common example scenario is that authorities were changed, and the system has to start saving more authority relationships now.
There's no way we can tell anything without seeing what the system says it was doing.