Ich habe den Algorithmus nicht durchschaut, aber er terminiert schon mal nicht wenn eine Zeile kein Leerzeichen vor der gewollten Textbreite hat. Er hängt dann an
ausgabetext
nur immer weiter Zeilenumbrüche an bis der Speicher voll ist.
PS:
WrapText(..) kennst du, oder?