Wrap initial cleanup in a timeout as it needs to be called asynchronously

Writing synchronously to observables during the init callback of a binding does not trigger subscriptions to those observables added during that same init callback (the subscriptions are not there until after the binding's init callback is finished).
Rewrite cleanup test so it checks what it has to check