It is fine, but its overall better to store it into one, this way you can guarantee the order the code is executed in example
Save Data
Delete Player From Tables
Clear Up Connections
It also keeps your code more organized so you know where to find your player removing event this would normally be in your main server script / main module script. This way if you find an error with the player removing it can only result in one place. (Your only player removing function)
With player.removing connection signal it should alright as there is a queue behavior. These two post explained by roblox staff should explain further.