title: How to repeat a method when it return a value with a delay
body: <p>Let's say I have this observable, it calls RefreshMedias every second even if the method inside of it hasn't finished running:</p>
  
  <pre><code>Observable.Interval(TimeSpan.FromSeconds(1))
      .Subscribe(_ =&gt; PhotoSourcesService.RefreshMedias())
      .DisposeWith(Disposables);
  </code></pre>
  
  <p>How to call RefreshMedias wait the operation for completion and when it finish put a delay of 5 seconds and call RefreshMedias again indefinitely?</p>