Think of it this way: If you have a 1GB file that is just full of "AAAAAAAAA" .. and you're overwriting it with "BBBBBBBB", and you take a snapshot halfway through, the file available in the snapshot will be half "BBBBB", then half "AAAAAAA". It won't be either the original or the planned version, but it will be there. The next snapshot will be all "BBBBBBB", and the previous will be all "AAAAAAA".
If you're using the system for CIFS for general purpose file storage, this isn't usually a problem - most files are small enough that writes happen almost instantly.
If you're using CIFS (SMBv3) for Microsoft HyperV, or MS SQL Server, or NFS for VMWare, this can be a bit more of a problem, as the write may have been something important for the virtual machine's filesystem. We have Snapmanager tools to enable VMs to pause, flush, then we take a snapshot. Is this what you're planning on using them for? or just interested in how it works?