I may be reading this wrong but:
Code:
            While (SrRead.Peek() > -1)
                Dim Buffer As String = SrRead.ReadLine()
                'add line to queue
                q.Enqueue(Buffer)
                'ditch any lines more than needed
                If q.Count > CInt(txtLinesToTail.Text) Then q.Dequeue()
            End While
Doesn't that actually read the entire file? What if the file's 10mb or more?