oil has a lower flash point than the air/fuel mixture, so it can cause premature ignition...but that's pretty much already been said. your valve seals may also be leaking - a much more common problem than blowing your gasket. also, get your A/F ratio checked. there may be
oil in the cylinder (causing the smoke), but the detonation might simply be an extreme rich condition.