This can happen if the Sprintf call attempts to print the receiver directly as a string, which in turn will invoke the method again.
Это может произойти если Sprintf вызывает на печать строку получателя, который вызовет функцию снова.