I think that you should put this question on a mac forum.
From what I read, there are two approaches, one on the samba server and other on the mac.
On the mac you have to issue a command so that it stops creating the DS_Store files on the samba shares.
On the samba server, by adding a 'veto' directive on the share definition, but only after removing the offending files; according to the samba manual this option impacts performance:
veto files (S)
This is a list of files and directories that are neither visible nor
accessible. Each entry in the list must be separated by a '/', which allows
spaces to be included in the entry. '*' and '?' can be used to specify
multiple files or directories as in DOS wildcards.
Each entry must be a unix path, not a DOS path and must not include the unix
directory separator '/'.
Note that the case sensitive option is applicable in vetoing files.
One feature of the veto files parameter that it is important to be aware of is
Samba's behaviour when trying to delete a directory. If a directory that is to
be deleted contains nothing but veto files this deletion will fail unless you
also set the delete veto files parameter to yes.
Setting this parameter will affect the performance of Samba, as it will be
forced to check all files and directories for a match as they are scanned.
Examples of use include:
; Veto any files containing the word Security,
; any ending in .tmp, and any directory containing the
; word root.
veto files = /*Security*/*.tmp/*root*/
; Veto the Apple specific files that a NetAtalk server
; creates.
veto files = /.AppleDouble/.bin/.AppleDesktop/Network Trash Folder/
Default: veto files = # No files or directories are vetoed
There is another "delete veto" directive documented:
delete veto files (S)
This option is used when Samba is attempting to delete a directory that
contains one or more vetoed directories (see the veto files option). If this
option is set to no (the default) then if a vetoed directory contains any
non-vetoed files or directories then the directory delete will fail. This is
usually what you want.
If this option is set to yes, then Samba will attempt to recursively delete
any files and directories within the vetoed directory. This can be useful for
integration with file serving systems such as NetAtalk which create meta-files
within directories you might normally veto DOS/Windows users from seeing (e.g.
.AppleDouble)
Setting delete veto files = yes allows these directories to be transparently
deleted when the parent directory is deleted (so long as the user has
permissions to do so).
Default: delete veto files = no
as the file is locked, disabling 'oplocks' (client (mac) opportunistic locks) on the share is also possible. Disabling it also affects performance.