That's a terrible design.
0) Why don't you use the system log for that?
1) Why are you causing so much file I/O? the system is going to be spending so much time writing to disk that it won't have much time for anything else. If you absolutely need to write to the disk every second, buffer the text to be written for a minute or two, and then flush the buffer to the file all at once.
2) What happens if your text file manages to fill the disk?
3) The problem is probably that you're trying to handle the timer event while the last time event is still being processed (see item 1 above).
4) Put a try catch block around the code in the T1_Elapsed method that will simply ignore the event if an exception is thrown.
try
{
do my processing
}
catch (Exception)
{
}