This should actually be changed to only lock for the duration of the snapshot or don't snapshot if you're going to hold the lock.  No need to do both.