GStreamerSharp: convert some Monitor calls into a lock{} block

There was some synchronization-related Monitor.{Enter|Exit} calls here,
which can be translated to a lock(){} block, which is:

 - Better syntax, as it avoids the fact that you could forget the call
 to Monitor.Exit().
 - Better protection against exceptions, as the Monitor.Exit() call that
 is generated by the lock's syntactic sugar is inside a finally{} block.

The original author of this code probably thought that it was better to
use two Monitor.Exit() calls in order to exit the synchronized region as
soon as possible, but using a return statement inside a lock{} block for
bailing out early is also possible.