None of the following trigger B018 useless-expression for me, when I would expect them all to:
"foo" + "bar" # should trigger B018
"foo" # should trigger B018
object().__class__ # should trigger B018
I might be missing something about what this rule is supposed to do though.