Android - Why does this character ⚫ crash Whatsapp?

As others said, there are ~2000 zero-width or 'invisible' unicode characters in that message. These characters are the ones which instruct the text renderer whether to display the text left-to-right or right-to-left. When you tap on the message, the text renderer tries to work out which character you are tapping on. As there are a lot of characters with conflicting instructions, the app hangs up until it can make a decision.
There is this very elegant and informative video by Tom Scott on youtube that explains the problem better than I ever can: