It seems that these code snippets ought to behave identically:
if (Monitor.TryEnter(lockObject)) { try { Do
See: Locks and exceptions do not mix