title: Mono.fromCallable executing on calling thread by default?
body: <p>I'm attempting to perform an asynchronous operation using Project Reactor's <code>Mono.fromCallable(Callable)</code> and I noticed that, in my test case, it appears to be running on the calling thread. Is it documented somewhere that <code>Mono.fromCallable(Callable)</code> uses the calling thread by default?</p>
  
  <p>I see from the <a href="https://projectreactor.io/docs/core/release/reference/#faq.wrap-blocking" rel="noreferrer">Reactor reference guide best practices</a> I should do something like the following:</p>
  
  <pre class="lang-java prettyprint-override"><code>Mono blockingWrapper = Mono.fromCallable(() -&gt; { 
      return /* make a remote synchronous call */ 
  });
  blockingWrapper = blockingWrapper.subscribeOn(Schedulers.boundedElastic()); 
  </code></pre>
  
  <p>But I don't see anywhere that <code>Schedulers.immediate()</code> is used by default. Why not default to <code>Schedulers.boundedElastic()</code>?</p>