Sure, I should have been clearer that smart pointers only guarantee not to release things until there are no more SMART POINTER references to them.
As soon as you start mix 'n' matching smart pointers and raw pointers into what they are pointing to, then all bets are off!