Joram Haber has a book in which he argues in a philosophical way that it is a moral good to wait for an apology prior to forgiving. He makes logically deductive arguments for this. So, again, I ask: Might withholding forgiving be a moral response?
Haber does argue as you say, but he does not address the critical issue of being able to help the other change for the better after you have forgiven. Without addressing this, I would say that his argument is incomplete because it eliminates a reasonable pathway to helping the other person.