Is there a particular reason why one sense algorithm will give an error whereas other will not?

So, my script completely works when I use the ForwardDiffSensitivity() algorithm to solve the ODE but it does not work when I use QuadratureAdjoint(autojacvec=ZygoteVJP(true)). I will probably update this with a MWE later on but I am curious if this is common knowledge of the difference between optimize-and-discretize versus discretize-and-optimize methods work. (For instance, I am solving a logistic equation and coupling it with UDE.) I am getting the same error for the different optimize-and-discretize methods such as BackAdjoint and QuadratureAdjoint.

The error is something like “Bounds error for accessing a 61-vector at 0th position”.

Thank you. It might be a little vague but I was just wondering if it was common knowledge because I only get the error when I change the algorithm.