But the sprite doesnt completly removes. It doesnt show up
anymore, but somehow it still exists. The behavior still exists.
Like for example: the tileScript makes a noise when the character
hits that tile. After the tile is unpuppeted the sound is still
there when the character moves over the place where the tile was.

If you are using MX2004 you could try makeScriptedSprite()
and
removeScriptedSprite()
Otherwise, you should be careful to remove the behavior
instance
/before/ unpuppeting (and hope that the same channel isn't
used
elsewhere in the score with a script attached during
authoring)