Why does the system become slow, if I perform lengthy operations in OnOpenFile, OnCreateFile or OnCloseFile?
Callback File System processes requests in several threads in parallel. This lets you achieve optimal possible performance. However, creation and closing of files requires access to certain FS-wide structures and resources. Such access can't be performed from several threads at the same time. So the guard lock is used to serialize access to those resources.
To put it simple, when you handle OnOpenFile, OnCreateFile or OnCloseFile in one thread, attempts to open or close some other file will be blocked until your handler finishes processing the callback/event.
Conclusion: you should make the above mentioned callback / event handlers as fast as possible. In most cases, all processing of OnCloseFile callback / event handler can be moved to other (worker) thread and so can many operations, performed in OnOpenFile / OnCreateFile.