Ты после каждого запроса заново создаешь вьюху, хотя старая никуда не исчезла. Поэтому после первого запроса появляется вторая, и у нее такой же обработчик. И т. д.
В целом логика не верная. Нужно для текущей вьюхи просто устанавливать данные в коллекции.
show: function(id){
var self = this;
getRequest('GetTasksTable', 'project_type=' + id, function(data){
self.collection = new App.Collections.TaskTb(data['data']);
_.each(self.collection.models, function (model, index) {
var view = new App.Views.TaskTableRow({ model: model}); //создаешь отдельную вьюху для каждой строки
self.el.append(view.render().el); // добавляем в таблицу
}, self);
});
}