I found a somewhat elegant solution to my problem. I believe the issue was in using the GridUnload method and re constructing the whole grid, which in my case, didn't make much sense to begin with. So I had to make a difference in whether the grid was already constructed or not (which was actually the hardest step). I used this test in order to see wether the grid was constructed or not:
var g = $("#searchResults");