Test Killer - Duvida

Olá pessoal,

Fazendo o simulado eu errei essa questão.

Given: public String makinStrings() { 12. String s = "Fred"; 13. s = s + "47"; 14. s = s.substring(2, 5); 15. s = s.toUpperCase(); 16. return s.toString(); 17. }
How many String objects will be created when this method is invoked?
A. 1
B. 2
C. 3
D. 4
E. 5
F. 6
Answer: C

Respondido aqui. (Essa deve ser uma das questões mais famosas do TestKiller)

http://www.guj.com.br/posts/list/116352.java

Obrigado, thingol.