Assim como o Jackson, sugiro o uso do Sleep(10) e se for uma aplicação GUI, colocar um Application.ProcessMessages e se for um serviço do Windows, colocar Service.ServiceThread.ProcessRequest(False);
É como faço por aqui... [As partes desta mensagem que não continham texto foram removidas]