Tone and timer(s): when to expect interference?

The "tone(pin, frequency, duration)" command is an easy way to create beeping sounds with a connected loudspeaker.

However, from the Arduino Tone Reference or the more Technical description it is still unclear to me which timers (and how many) are used.

As far as I understand it now 1) if only one tone (or several tones sequentially) is played on one pin, only timer2 is used 2) if the same tone is played on multiple pins then multiple timers are used.

Is this correct?

On a side note I am wondering: Why can any pin be used for tone() and not just the PWM pins?

My goal is to have one loudspeaker connected (playing just one tone after the other), a SD card (--> MOSI pin 11 is used), a working timer0 (for delay, micros, millis). Which pins can then still perform PWM (timer2: pin 3 & 11; timer1: 9 & 10)? Since timer0 is needed for the millis, Pin 5 & 6 should be "off limits".

No information about the used timers of the standard tone function, but I found a solution / alternative:

New Tone is a library which uses only timer1.

TimerFreeTone uses no timer at all, but it essentually stops executing any other code while playing a tone.