Hi,
The max char thing doesn't limit your input, but rather tells tk2d the max chars to allocate for memory purposes. The whole idea with that is to not keep reallocating memory, which is really really slow.
I'm not familiar with that error though - the text mesh simply clips when it hits the max chars. If you want tk2d to reallocate regardless of what happens you could do
textMesh.MaxChars = Mathf.Max(textMesh.MaxChars, newString.Length);
then assign .text
then .Commit();