The GF's E60 had this issue. The previous owner smoked.
I steam cleaned the interior, made no difference.
I then got the ozone treatment, although it wasn't marketed as such, it was some steam generator that's left in the car for an hour or so and seemly kills bacteria etc
it all but removed it. I am very sensitive to smells, and sometimes, if the car is left in direct sunlight for a day then I can still get a distant smell of it, but it disappears after a minute or so of active driving with the air system running.

Would I recommend it, yes, it can do no harm (although ive never heard of the damage it can cause). I may try one of those bombs soon though, just to keep the interior fresh.
I got the Air con system de-gassed, cleaned and re-gassed here locally recently but that shouldn't effect any interior smells.