Ok! I've found the issue here. (Also, please let me know if the bug reports are getting annoying, I'm not trying to be a problem, user. ^^;) It's a bit more complex than I anticipated. The specifics here (the exclamation point) have to do with some of my in game preprocesing of text, but it still applies to STM.
Ultimately the bug is this: The next character which is considered includes the opening "<" of tags when it should ideally be testing the next VISIBLE character. Consider this string:
"<i>I'll never give up!</i> I'll try forever!"
The first sentence will not have its autodelay fire off for the exclamation point even though the next visible character is a space. I am changing some of how my preprocessing works and will be able to work around this, but its worth considering. It's a bit of an edge case, but when it comes up, it's pretty confusing.
On line 2601 of SuperTextMesh.cs (in my version, actual if statement quoted below), the test which determines whether the autodelay will happen is processed. The problem is that when you have this pattern: "!<TAG> " that it only returns true when the '<' character is evaluated. '<' is never printed, so the delay does not fire off.
'''else if(data.autoDelays.ContainsKey(myText[i-1].ToString()))'''