Я знаю, что он обычно используется как объект блокировки, но это действительно достаточная причина? В чем смысл
object o = new object();
Не абстрактный класс - это то, что представляет собой реальные объекты. "asdasdf" - это строка. Каким может быть фактический экземпляр класса "объект"? Это не имеет смысла, ООП-мудрый. Мой вопрос в том, есть ли практическая причина его существования (помимо того, что он используется как объект блокировки).