Увеличение числа в новом потоке, которому вы передаете объект, почти наверняка неверно. Произвольное количество кода в «родительском» потоке может быть выполнено до того, как новый «дочерний» поток вообще сможет работать, и в этом случае функция в «родительском» потоке может вернуться, сделать некоторые другие вещи, уменьшить счетчик ссылок до 0 и освободить объект. Затем новый поток будет касаться недействительной памяти, вызывая неопределенное поведение, и весь ад потерпит неудачу.
Также обратите внимание, что такие ошибки, вероятно, будут оставаться незамеченными в течение длительного времени, поскольку статистически необычно, что новый поток не запускается немедленно. На самом деле, вероятно, ваши клиенты / клиенты первыми увидят ошибку ...: -)