Delete TVRec objects in the thread they were created
Do not use an on-demand timer to delay deletion of the stream handler.

the IPTVChannel instance got created in the main thread, SetStreamData can be called from different thread: the event handler (running the SignalMonitor) and the recording thread. So creating the timer could sometimes fail as not created in the thread.
So instead we keep one timer firing every 5s; and check if the stream handler has been marked for deletion.
If so, the stream handler will be deleted between 5s (worse case) and 10s.