Minifilter FltSendMessage problem

I have minifilter driver which register IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION PreCallback. In callback routine I send filename to usermode with FltSendMessage and wait Reply message. Then in usermode I open file with CreateFileW read file size then call Sleep(2000) (for testing purpose) and reply message. Like:

Opened:C:\Windows\System32\consent.exe:size:159248
Opened:X:\section.exe:size:119296
Opened:C:\Windows\System32\conhost.exe:size:885760
Opened:X:\zaza.exe:size:181248
Opened:C:\Windows\System32\notepad.exe:size:181248

It works well but sometimes when I execute program i didnt see filename in usermode? What is problem? Can waiting(Sleep) in usermode make any problem?But as i know FltSendMessage sync operation when I open filename in usermode and reading some of data while this if new program executed it wait in callback routine