Merge many fixes

Contains the PR #1893 and a possible fix for the premature RxRingBuffer unsubscription and NPE.
The expectation of this code is that release is not called concurrently with any other function. 

If we need to support concurrent release, then we need synchronization and then kill perf. These references to queue won't solve the concurrency issue, but this code should never be invoked concurrently with release.