I'm not a creator of a smalltalk, but it seems to be the best thing to do.
For example if you'll execute:
var := myInstance myMethod.
then the question is: what do you want var to become? One option will be nil. But it's a bit confusing, because you are working with defined objects and nil is actually an undefined one. So you can treat it as you are assigning myInstance to var and just calling myMethod along the way. Also this can be probably treated as a shorthand for
var := myInstance myMethod; yourself.
If you'll look from the inside, then from all data available to the object itself the most appropriate thing is probably also self. Once again, the nil can be returned, but I've told my opinion on it before.
In Smalltalk there is no such thing as a void method that returns nothing, and there is no type checking. So a method just has to return something. It's like the Object says:
I can return myself for any method call by default because I always
know about myself, and you can redefine this behavior in case you want
me to return something else.
Personally I think that returning nil might be good too, and Objective-C applications use nil stuff very often, but Smalltalk is made this way and I think it's a quite good solution.