Local Sound not Stopping in time

InClosetEvent.OnClientEvent:Connect(function(player)
	
	SS:PlayLocalSound(HeartBeat) -- Sound
	SoundTween:Play() -- Increases Volume
	
	VignetteTween:Play() -- Not important
	BackgroundTween:Play() -- Not important
	
end)

OutClosetEvent.OnClientEvent:Connect(function(player)
	
	HeartBeat:Stop() -- doesn't stop
	SoundTween:Cancel()
	HeartBeat.Volume = 0.1
	-- past this line, everything still happens
	VignetteTween:Cancel()
	BackgroundTween:Cancel()
	Vignette.ImageTransparency = 1
	Vignette.BackgroundTransparency = 1
	
end)

I want HeartBeat to stop playing when OutClosetEvent is fired. I don’t know why it doesn’t stop in time.

(also the tween increases the volume, but it doesn’t seem to get louder, so if you notice the problem with that, let me know)

There are no errors in output.

Any help is appreciated!