i borrowed this answer:
Hidden files are created by the fuse high-level user-space library. Unix supports references and access to deleted files, but that's not something most fuse applications handle. So the fuse user-space library acts the same way as NFS, in that deletions are 'soft' as long as references remain. Instead of actually deleting the file, it is renamed to '.fuse_hidden...' until the last reference is released.
This is part of the FUSE user-space library, and is correct behavior. There is a hard_remove mount option for FUSE that you can use if your program allows passing in additional fuse flags (or modify the program to do so). The downside is that the filesystem would no longer have access to files that were open while deleted, so it may behave poorly.
Some filesystems will track references themselves and may disable soft deletes by default. Also, programs that use the FUSE low-level API won't do this.