The DrainGuard represents waiting for the readers to release their leases so we can take a write lease.
An RWLock, but:
This guard signifies read access. When it drops, it will release the read lock.
This guard signifies write access. When it drops, it will release the write lock.
Can happen when we try to take a read lease.