This line doesn't seem correct:
count = grid[i][j].getNeighbours() + 1;
Shouldn't you be counting alive neighbours? Like this:
if (grid[i][j].isAlive()) count++;
You should be counting Cell e's neighbours. So remove this line
grid[i][j].setNeighbours(count);
and add this line after the i, j loops:
e.setNeighbours(count);