При внесении большого количества изменений в визуальные компоненты, большая часть времени тратится на их перерисовку. На пк это может быть не сильно заметно, а вот в мобильных приложениях уже чувствуется.
Избежать этого довольно просто, нужно перед внесением изменение написать Listbox2.BeginUpdate() а по окончанию ListBox2.EndUpdate(). Это приведет к томе что компонент изменится лишь однажды, после добавления всех полей.
И думаю лучше убрать sleep(10) или в нем есть какой-то сакральный смысл?