I found it only highlights text that was added in the constructor. If I add later the scrolling works perfect. I think that is kind of odd.
Meaning if I do tbStatus.Text += "Application Ready\r\n"; in the constructor that stays highlighted until something else is added.
I resolved this by creating the following function.
private void AddText ( string msg )
{
tbStatus.Text += msg + "\r\n";
tbStatus.SelectionStart = tbStatus.TextLength;
tbStatus.ScrollToCaret ();
tbStatus.Refresh ();
}
This seems to handle things no matter when the text is added.