ENG-7019: Fix race condition in stream snapshot watchdog thread.

Ideally, m_outstandingWorkCount should be removed and m_outstandingWork can use
a LinkedBlockingQueue. This fix introduces less changes to lower the risk.
ENG-7019: Safe guard stream snapshot watchdog with try/finally so that it still
reschedules itself even if an exception is thrown.

Failed stream snapshot relies on the watchdog to terminate the
snapshot. Otherwise, it will block all subsequent snapshots.