I think it’s just not well implemented, it’s using way more cpu than I’d expect it to use, and sometimes it uses all the cpu it can get. It shouldn’t be active all the time, even if it appears to be active continuously. A frame rate of 10 per sec is probably pretty good for those emoticons, so the thread should be sleeping most of the time.
I suspect it’s using a separate thread per emoticon. It would be great if you can use one thread to handle all emoticons, and also turn the thread to sleep when the window is minimized (Currently it stays active even when minimized).
EDIT: it also still eats cpu even if all the emoticons have scrolled off the window.