Hi,
You can use a lambda too with OnWaypointChange, while accepting the int parameter:
// "x" in this case represents the int parameter
...OnWaypointChange(x=> AnotherMethod(x, myTween));
// ...
// Example method
void AnotherMethod(int waypointIndex, Tween myTween) {}
About the path returning to the start, that should totally not happen. Are you using the latest version of DOTween (1.1.135)?
Cheers,
Daniele