I've seen this issue as well (but initially thought I was just having a slow cluster). I'm willing to bet the issue is in the timeout loop itself rather than in libcouchbase or in somewhere 'deeper', as the other Observe tests pass.
Additionally, they seem to take very long to complete (patch below does not).
What's odd is that I've run this through valgrind and it didn't show any particular errors, and the errors are not always reproducible.
fwiw, this seems to pass the tests