There is no excuse for being put on hold for that long.
If you are a diamond member, I would complain to the DD. The appropriate time to complain was before check out. I would have asked to speak to the hotel GM at check out and if he wasn't available asked for the manager in charge or an email address.
It is possible you could have enforced the guarantee policy put that is pushing it.