A timer is a better idea, IMO. That way, if your service is asked to stop, it can respond to that very quickly, and just not call the timer tick handler again… if you’re sleeping, the service manager will either have to wait 50 seconds or kill your thread, neither of which is terribly nice.