which is the right approach to use a System.Timers.Timer? I mean... I create the timer, set the interval and the method to be called on the Elapsed event.
do
A short answer is you don't need to do anything. It will be collected by the Garbage Collector when function goes out of scope. If you want it available then declare it in class instead.
GC.KeepAlive(youtimer_Instance);
Have a look at the end of the Timer's Documentation for reference to this scenario.
The Comments in the sample code says:
Normally, the timer is declared at the class level, so that it stays in scope as long as it is needed. If the timer is declared in a long-running method, KeepAlive must be used to prevent the JIT compiler from allowing aggressive garbage collection to occur before the method ends.