Te dejo un ejemplo de como se podría hacer:
Ejemplo
Está hecho con Visual Studio 2012, pero es para que veas el código. Se utiliza un BackgroundWorker aunque podría haberse hecho con hilos normales.
Esta es la página del BackgroundWorker:
http://msdn.microsoft.com/en-us/libr...undworker.aspx. Existe desde el framework 2.0, así que no hay problema.
Este ejemplo lo que hace es leer continuamente el fichero, aunque poniendo el Thread.Sleep liberas mucha carga del procesador y casi no consume (a mi me consume un 0,2%). No he tenido en cuenta que en el fichero se eliminen cosas, siempre se supone que se añade. Si quieres soportar esto, tendrás que cambiar algunas cosas.
Un saludo.