Auto Expire on entries
If you haven't solved it yet with a custom solution, have a look at my Auto Expire plugin. You would add a new expiration rule with the expiration date set to:

{ 'now'|date_modify('+3 month 5am')|date('c') }


or

{ postDate|date_modify('+3 month 5am')|date('c') }


and make sure the option to allow user changes is checked.