Occasional crash in WordWrapper::ProcessLine()

I’ve been getting a crash on occasion in the executable of my game–maybe 1 in 10 games, unreliably–in the function ProcessLine() inside of WordWrapper. The deepest call in the call stack that was still written by my team is this call to UCanvas::DrawText():

Canvas->DrawText(
MarketDecoFont, 
text,
screenPosition.X - (textWidth / 2),
screenPosition.Y - (textHeight * yOffset),
textScale,
textScale
);

This is a call that is made every tick in DrawHUD, successfully most of the time. As deep as I’ve been able to get while running in the debugger, all of the variables passed in here seem to be valid. In particular, I assumed the problem would have to do with the specific text passed in, since the line we’re crashing on is the condition of this while loop in WordWrapper:

//@todo Use ICU's whitespace functionality [12/5/2013 justin.sargent]
while (TChar<TCHAR>::IsWhitespace(String[BreakIndex - 1]))
{
	--BreakIndex;
}

However, whenever I catch this in the debugger (which is rare) that text seems no different from normal. The place it’s crashing makes it seem like it’s accessing something outside of the array that’s making it crash. But these are FStrings, so should be null-terminated or otherwise protected against that behavior, right? What specific conditions in the string might result in a crash in that while loop?

Funnily enough, someone else reported this a week or so ago - there was a potential crash in if the string started with a space. I believe we merged in a fix from them, let me check.

EDIT: No, we didn’t. We have an internal bug report about it though (TTP# 340092). I’ve added a note to the bug about this question.