Можно ли изменить прямоугольный объект или его свойства в каком-либо другом
поток, в то время как один поток получил блокировку, и выполняет в
критическая секция.
Если все код, который обращается к этому объекту, сначала пытается получить такую же блокировку, то нет.
Без упаковщика кода блокировки, да, другой поток может (и в какой-то момент будет) писать в rect
с противоречивыми результатами.