Sprite objects do not own a copy of a texture object (and do not allocate textures objects), they only point to an already existing texture.
From sprite setTexture documentation:
The texture argument refers to a texture that must exist as long as the sprite uses it. Indeed, the sprite
doesn't store its own copy of the texture, but rather keeps a pointer to the one that you passed to this function.
Multiple sprite objects can point to the same texture. You need to manage life cycle of your texture objects separately, and you should not attempt to deallocate textures when a sprite is deleted.