How do genetic algorithms work exactly?
Looking at the code the tutorial provides answers your questions. First of all, as it's described/implemented, crossover doesn't create a new string, it just modifies the two selected ones. So,


Yes, mutation always occurs
You mutate both A and B. There is no C
Yes.