I have read many answers and blog posts on the jQuery queues... and specifically this particular answer has helped a lot - https://stackoverflow.com/a/3314877/1315811 . But,
This bit of code within the queue code handles the auto-start:
queue
if ( type === "fx" && queue[0] !== "inprogress" ) { jQuery.dequeue( this, type ); }
If the queue being queued is fx and the queue is not already in progress, dequeue is called.
fx
dequeue