Carb Question

I always thought it was caused by a spark that's too advanced combined with too fast an idle.

Yes. You may have noticed I mentioned too-fast of an idle as one of the causes, but advanced timing has nothing to do with it.