No it enters lock in Start() and releases in Stop(). It only works under ideal conditions, if anything was to happen between Start() and Stop() then lock would never release.
As described in the issue - both methods have to be executed by the same thread. If one thread calls Start() then no other threads can call Start() again until the first thread releases the lock by calling Stop().
Multiple threads cannot call Start()