title: Finally called before subscribe has processed all messages
body: <p>I have written a subject that I use to push out messages that I receive from RabbitMQ.</p>
  
  <p>I was expecting to always receive all messages on subscribe before finally is triggered but I am usually not receiving all messages and can see that that subscribe is called after finally is called.</p>
  
  <pre><code>_messageSummarySubject = new Subject&lt;MessageSummary&gt;();
  _subscriber = _messageSummarySubject
      .Finally(Finisehd)
      .Buffer(TimeSpan.FromMilliseconds(100))
      .SubscribeOn(Bootstrapper.Resolve&lt;ISchedulerService&gt;().DispatcherScheduler)
      .ObserveOn(Bootstrapper.Resolve&lt;ISchedulerService&gt;().DispatcherScheduler)
      .Subscribe(
          x =&gt;
          {
              //This is sometime called after finally
          });
  ThreadPool.QueueUserWorkItem(s =&gt; SomeAction(_messageSummarySubject));
  </code></pre>
  
  <p>SomeAction is basically calling </p>
  
  <p>subject.OnNext(messageSummary);</p>
  
  <p>a few times in a thread and once the thread is closed calling subject.OnCompleted();</p>
  
  <p>Is this the correct behavior or am I doing something wrong?</p>