in reply to Tk module subs executes without invocation

(Thanks to Tanktalus for pointing out the relevant line of code :)
-command=>[\&_save_defaults($self)]
means that you're calling _save_defaults passing $self, taking a reference to the result and putting it inside the anonimous array. This is why you're seeing the unexpected call. You'd better:
-command=>[\&_save_defaults, $self]
or follow Tanktalus' suggestion (without the square brackets, you don't need if you pass the sub reference alone).

Flavio
perl -ple'$_=reverse' <<<ti.xittelop@oivalf

Don't fool yourself.