That is because setTimeout executes in the 'window' scope.

You want:

Ext.TaskMgr.start({
run: this.refresh,
scope: this,
interval: 3000
});