When an entity is killed and a score is assigned to that entity in the same tick, but after it was killed (using functions and @s), a scoreboard entry is created that can't be deleted easily. One would expect scoreboard entries of dead entities to be removed.
How to reproduce
Create a function with two commands:
kill @s
scoreboard players set @s <some_objective> 1
Execute this function as some entity.
Inspect the scoreboard using the sidebar
Notice a scoreboard entry with the UUID of the entity that was killed by the function.
This behavior was not present before 1.17.
I was unable to replicate with command blocks, so there's probably more to it than "in the same tick"