title: Room + RxJava = GC?
body: <p>I have my app with <code>Room + RxJava2</code>.</p>
  
  <p>Here is my <strong>DAO</strong>:</p>
  
  <pre><code>@Query("SELECT * FROM calendar")
  Maybe&lt;List&lt;EventModel&gt;&gt; getAll();
  </code></pre>
  
  <p><strong>Repository:</strong></p>
  
  <pre><code>calendarDao.getAll()
              .subscribeOn(Schedulers.io())
              .observeOn(AndroidSchedulers.mainThread())
              .subscribe(calendarDays -&gt; {
                  if (calendarDatabaseCallback != null)
                      calendarDatabaseCallback.onCalendarItemsLoaded(calendarDays);
              });
  </code></pre>
  
  <p>Problem is - when I call this method and when I am trying to get from <code>DB</code> many records (in above example I have about 500) <code>GC</code> is being called about 20 times with similar message:</p>
  
  <pre><code>GC_FOR_ALLOC freed 8026K, 13% free 60595K/69048K, paused 42ms, total 42ms 
  </code></pre>
  
  <p>Shouldn't <code>Rx</code> with Subscriber on <code>Schedulers.io</code> be responsible for working on a new <code>thread</code> without touching <code>UI</code>?</p>