When the time came for his song to end, the tenth Doctor dragged it out as long as he physically could, visiting every single one of his dear companions to bid them farewell in one fashion or another, whether or not they remembered him. Yet, the radiation damage, drawn out so long, was worse than he thought. When he tried to send the TARDIS out to watch the end of Donna's wedding and gift her with all that he could, his hand slipped and the TARDIS landed too early.
While he tried to turn around and leave as soon as he realized he'd landed before the service rather than after, it was too late. Donna already ran out to meet him, and would have nothing of letting him get away. He was too sick from the radiation, anyway, to put the mental block back into place. To spare her life, he must choose to let go and regenerate in time for his next self to still save her life.
When he does release the regeneration energy, however...it doesn't quite go the way it's supposed to. As if his body remembered the circuit it observed the last time it needed to regenerate, the energy split spectacularly. His wounds healed, as they were meant to, but instead of continuing the process, the energy enveloped Donna instead, using the remaining energy to lock away the connection she held to his mind without the memories of him. It wasn't a perfect fix, and something could release it again as it did before...but it meant she could travel with him again. And would have nothing of his protests.