NOT WORKING: Custom TTL on stored documents and automatic removal by the CB server

We did a few tests of CB 4.0 with storing temporary documents with an upsert and then calling touch:

JsonDocument doc = JsonDocument.create(id, dataToBeStored);
bucket.upsert(doc);
bucket.touch(id, ttl);

The problem is that CouchBase fails to remove all documents for which we set up the custom TTL.

We used ttl of 1 day, stored about 8,800 documents. CouchBase automatically removed most of them but 1,538 documents are still in the database although it’s been a few days since the documents were originally stored.

Any suggestions on how to deal with this partial removal of temporary objects? How can we force the CB to remove automatically all the other documents that is fails to remove / “misses”?