Where is inline at startup?
The compression loop is started from the object initializer, I'm not complete sure if returning it a unit Lwt.t is allowed, and even so it wouldn't run the thread.
If you imply to join it together with ignored compression loop, then this would have to be before the loop, and this could possibly result in deadlocking on adding items to the queue (as there is no process yet taking stuff off).