Мало данных.
1) Что будет если к файлу не будет доступа?
2) Что будет если на диске закончится место?
3) Что будет если программу закроют, и ни о каких 20 минут не может быть и речи?
4) Какую строку удалять если их там тысячи одинаковых?
5) Что будет если через 20 минут файла уже не будет на диске?
Чтобы удалить файл тем же процессом который его создал/обновил, он должен работать больше 20 минут.
Если это невозможно, то нужно создавать другую программу, которая через 20 минут удалит из него нужный текст. А запускать ее джобой.
Если речь о задачке для себя, то можно просто использовать
Timer.
В C# 4 типа таймеров, по линку выше они описаны.
System.Timers.Timer
System.Threading.Timer
System.Windows.Forms.Timer
System.Web.UI.Timer