An out of bound exception equal to number of columns was being thrown earlier on adding /deleting rows. I realised the problem is with line 681 of Table class coding. After a bit of changing it, I deleted this line 681 as it was extra as compared to the For Next condition when column not frozen. On deleting it and running my program, I am getting first column freeze with no out of bound exception.
Same issue with the your later Table class. This time, same exception threw up on starting the app itself, this time pointing to line 689(same coding as earlier line 681). So I deleted it, I am getting first column freeze with no out of bound exception after deleting it.