Run a timer while waiting for user input
Several things:


When doing multi-processing and sharing a resource (in this case, the console window), you should use locks to prevent two threads using the same resource at once. This is the source of your problems. When updating the counter you probably need to hold the lock while moving the cursor to the timer, change the timer string, and hold it until you set the cursor back to the bottom of the console. On the other thread you'd have to maintain the lock while reading user input.
You don't need to roll-your-own timers. You can use .NET's Timer class. Notice that Thread.Sleep() is not accurate and you're not really counting seconds (even if you roll-your-own than you should probably do it with time deltas and not with thread sleeps).
Don't use the Thread class, use the Task Parallel Library class. It'll be much easier. You will need to use Task.Delay instead of Thread.Sleep
Notice that you're line-breaking outside of the loop and not inside. Also WriteLine will add a line-break at the end automatically


If you're merely learning the language (I noticed the "beginner" tag) than I suggest you learn the points I've mentioned. They're more important than learning a specific (and somewhat advanced) use case of C# console applications where you change text while accepting user input. I believe it would be easier for you if it would be a simple WPF application instead of a console application.