Hi Rishad
It looks to me like the ISR would be triggering whenever your input is greater than the threshold when using the HighLimit ISR so it looks like it is working as programmed.
If you use it that way you would probably have to add code to find the lowest value in a set of readings.
It would be best if you could trigger the ADC only at the location desired. Not sure if you can set upt the PWM to trigger that way.
Just some thoughts.
Pete