If those were double-quotes instead of single-quotes (which they probably were) then the warning was precisely correct.
confess 'Some error happened because ' . $obj->foo . ' blew up';
No, that can't be it, because the strings in question contain none of the things Critic cares about, namely unescaped $. or @. and escaped metachars.
I suspect that your parser is not detecting the fact that the confess argument is actually three strings concantenated together, and it's thinking the $obj is inside the string.
Anyway, I can't verify any of the above, since I can't get the confess line to trigger a warning from the web-based Critic now.
A word spoken in Mind will reach its own level, in the objective world, by its own weight