Почему этот код не вызывает тупик?
private static readonly object a = new object();
...
lock(a) { lock(a) { .... } }