After doing some research, I have a feeling that it would be something with the .Completed event, but I can't figure out how I would implement that into my game. This is the code that is causing the problem.
I have a feeling it would be something to do with this line, I did try simply waiting 6 seconds and then removing it (Which is what I want to happen to the textLabel when the tween is complete) but adding the 6 second timer just messed with all other parts of my code.
textLabel:TweenPosition(UDim2.new(position, 0, -0.5, 0), nil, nil, 6)
I'll accept your answer if it works. :D

4 comments
You can use the callback function of GuiObject:TweenPosition() to work in the same way as the Completed event of TweenService. This would probably work better for you: https://developer.roblox.com/en-us/api-reference/function/GuiObject/TweenPosition
If you look in the actual question, I do use 'TweenPosition', however, like I say in my answer I gave, the TweenPosition' doesn't give a valid option of when the Tween has been completed.
Either way, what I have wrote works.
If you reread what darkelementallord said, you may see that the callback parameter of TweenPosition is the alternate of the Completed event.