Essa dica aqui é um baita pulo do gato!
Quando estamos trabalhando com prototype usamos a seguinte sintaxe.
function Classe(){};
Classe.prototype.Metodo1 = function(){};
Classe.prototype.Metodo2 = function(){}
Quando fazemos uma chamada a um WebMethod que está registrado no servidor, fazemos: Namespace.Pagina.WebMetodo(arg1, arg2, fnCallback)
fnCallback é o método que tratará a resposta do WebMetodo. Acontece que se chamarmos WebMetodo(args1, args2, this.Metodo1)...this.Metodo1 perderá a herança de this da Classe original, o this agora é a resposta do webMetodo.
Para fazermos a chamada corretamente, devemos fazer:
Namespace.Pagina.WebMetodo(args1, args2, this.Metodo1.bind(this));
Espero que sirva.