Don't use thread.Sleep - that prevents your UI thread from displaying anything.
And Interval doesn't change as the timer is running - it's the number of ticks between successive timer "activations".
What you need to do is handle the Timer.Elapsed event to find out when the timer has "fired":
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
Console.WriteLine("Timer elapsed");
}
private void MyButton_Click(object sender, EventArgs ew)
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 5000;
timer.Elapsed += timer_Elapsed;
timer.Start();
}