Listbox is using std::vector to manage it's items. This is great for iteration but imagine inserting 100 items into the Listbox at once, the items are unsorted (arbitrary order) and the Listbox is set to sort them. What happens is that std::vector has to keep pushing things around when inserting into the middle, so even though it was meant to be fast and built around insertion sort, this actually makes things crawl when you approach 100+ items. Lots of memmoves (and they repeat themselves again and again, especially if you insert things in reverse sorted order).
Especially noticeable in debug builds.
Additional information: I propose to use std::list (doubly-linked list) to manage Listbox items, iteration is slightly slower but insertion into the middle is very fast.