El problema es que la carga de datos se realiza de forma sincrona, por lo que la aplicación está a la espera de los datos para refrescar la parte gráfica de la misma.
Lo que tendrías que hacer es cargar los datos en un segundo plano usando, por ejemplo, un
BackGround Worker.
Aqui tienes un ejemplo de como usarlo :)