I have a very simple IObservable that acts as a pulse generator every 500ms:
IObservable
var pulses = Observable.GenerateWithTime(0, i => true
You get an IDisposable instance back from subscribing. Call Dispose() on that.
IDisposable
Dispose()