Camera Shake not stopping bug

I am making a camera shake for my sprint and when I stop sprinting, I want it to stop the shake progressively so naturally I didn’t set the parameter for immediately stop to true in the StopAllInstancesOfCameraShake function, but when I do that, if I try to sprint multiple times it’ll sprint normally the first time, but any time after that, it won’t play the camera shake except for like half a second right after I release the sprint button. It works fine if I have the stop immediately parameter set to true. This may be a bug but I also may be stupid so I apologize if I’m doing something wrong but I’ve looked everywhere and I haven’t seen anything that could hint at it being an issue with my work. Here is my code for anyone wanting to look, I’ve confirmed it has nothing to do with the rest of the function

void ASurvivalCharacter::SprintCalc(bool Sprinting) {
	if (Sprinting) {
		if (SprintFloat) {
			FOnTimelineFloat TimelineProgress;
			FOnTimelineEventStatic TimelineEnd;

			TimelineProgress.BindUFunction(this, FName("BeginSprintTimelineFunc"));

			SprintTimeline.AddInterpFloat(SprintFloat, TimelineProgress);
			SprintTimeline.SetLooping(false);

			
			SprintTimeline.PlayFromStart();
			GetWorld()->GetFirstPlayerController()->PlayerCameraManager->PlayCameraShake(CamShake, 1);
			sprinting = true;
		}
	}

	else if (!Sprinting) {
		if (SprintFloat) {
			FOnTimelineFloat TimelineProgress;
			FOnTimelineEventStatic TimelineEnd;

			TimelineProgress.BindUFunction(this, FName("EndSprintTimelineFunc"));

			SprintTimeline.AddInterpFloat(SprintFloat, TimelineProgress);
			SprintTimeline.SetLooping(false);

			SprintTimeline.PlayFromStart();
			GetWorld()->GetFirstPlayerController()->PlayerCameraManager->StopAllInstancesOfCameraShake(CamShake, true);
			sprinting = false;
		}
	}
}

In my experience it is much easier to handle timed events in blueprint based off of events thrown from code. Have you tried throwing a BlueprintAssignableEvent from code for starting and stopping your sprint, the having the event graph interploate the camera shake between the two states?

what two states would I use for the camera shake? I could only find that way to start and stop it on the documentation