Have you considered using a scheduled event via the API?
You can schedule things to happen at set times. This doesn’t appear in the UI automation section but you could provide some UI for this in our App config. ie. add a custom field to the ticket with the date time you want a ticket to go off hold and then schedule the event with this value via onTicketUpdate event in a serverless app.
One thing to bear in mind is that the onTicketUpdate event only currently fires for certain ticket updates (documented here under onTicketUpdate - Product Events ) so you may need to add an automation that causes the event to fire when the custom field is changed.
I dont think that option would really be the best way to go about it as we currently are not utilising any access to the API and I think this would really benefit from being a feature built right into the Freshdesk system