Хотя это и не имеет прямого отношения к боксу, оно может сломаться, если вместо int использовать строку типа «1». Две строки с одинаковым постоянным значением могут иметь одну и ту же ссылку, поэтому для блокировки «отдельных» строк будет использоваться один и тот же блок синхронизации. В общем, я бы рекомендовал new object () [известный хороший шаблон] над константой, подобной этой.
На самом деле, я не уверен, что бокс в уникальных экземплярах на самом деле в спецификации. Конечно, я мог бы видеть создание «пула бокса» для общих констант (например, 0 или 1) как потенциальное улучшение CLR. Если бы это было реализовано, такое использование было бы неудачным (скорее всего, довольно неприятным и непредсказуемым образом).