Ok, that works even faster and now I don't have to manually deal with threading. As a side note, when using ReadLine, I noticed my problem again. Here's what I did: Open notepad, type a few lines, DO NOT newline, save the file. The tail callback works perfectly. The new text is echoed to the TextBox (I manually insert a new line since ReadLine stripped it.) Type in a few more characters and save again (still, never typing a newline). The tail callback misses the first two chars!! So, I opened cygwin - and got the same behavior!!! As I believe you explained, tail is reading a line at a time. When I don't type a newline and simply save new text into the file - expecting it to be echoed, it doesn't pick up the first two chars (something do to with expectation of \r\n I would guess). If I DO type a newline and then save, the following text is read correctly from the first char. So, that means ReadLine works just fine for what I'm doing - which further simplifies this. Thanks, -Luther One last tidbit, I've implemented native calls to scroll the screen with line appended. Unfortunately, its possible these windows won't have focus when they are tailing files - and it seems that the built in TextBox/RichTextBox must have focus and move manually move the caret and then must scroll to the caret. Awfully cumbersome. I've wrapped the calls in a class, but they are similar to this: public readonly uint EM_LINESCROLL = 0x00B6; public readonly uint EM_GETFIRSTVISIBLELINE = 0x00CE; public readonly uint EM_GETLINECOUNT = 0x00BA; [DllImport("User32.dll")] public static extern int SendMessage(IntPtr hWnd, uint Msg, uint wParam, uint lparam); private void button1_Click(object sender, System.EventArgs e) { int line = SendMessage(richTextBox1.Handle, EM_GETFIRSTVISIBLELINE, 0, 0); int linecount = SendMessage(richTextBox1.Handle, EM_GETLINECOUNT, 0, 0); SendMessage(richTextBox1.Handle, EM_LINESCROLL, 0, (uint)(linecount - line - 2)); } Oddly, TextBox scrolls one line at at time. RichTextBox scrolls a page at a time ... unusable for what I'm doing.