Well, I sorta found a solution for the problem - wrote a simple recursive function that keeps on doing $res->previous to check if the _previous exists & then finally returns the required response blessed reference back.
This still does not address my original question - why is it happening & how can I debug/figure out what is going on. So if anyone has any input regarding that, please chime in.