На правах гипотезы — возможно, визуальник защищается не от того, что функция кинет, а от разыменовывания нулевого указателя. Может, если там будет, например, ссылка — ему будет легче?
Или __assume (obj != 0). Только обратите внимание что __assume с неправильным условием крайне опасен.