Its not creating the mesh that is expensive, but rather assigning it to the mesh collider - thats when Unity converts the mesh to a physx friendly format. You can only have one collider attached to a sprite, and you can't modify the mesh after assigning it - so you have to reassign a new mesh, making things horribly slow and allocate a ton of memory.
You can however, create all the sprites you could possibly switch between, and then show and hide the appropriate sprites to animate the sprite.