Object.CreateIdentityObject() создаёт экземпляр наследника object, чисто для сценариев lock(object) и всяких sentinel objects. Сам object - можно сделать абстрактным. Конечно систему типов Шарпа это поломает. Но вроде позволит делать какие-то хитрожопые оптимизации. Вроде Шведова можно даже спросить какие именно