xknown:
El comportamiento esperado es precisamente el que describe Zia en su post.
El método toString() de un objeto debería invocarse de manera transparente cuando se trate al objeto como una cadena.
O sea, la idea sería justamente no tener que invocar nunca ese método de manera explícita.
Saludos