One possibility is that the file system is buggy, and that reading a
file (and therefore modifying st_atime) also modifies st_ctime as a side
effect. Often this sort of thing is delayed, that is, you read a file
and its st_atime is updated immediately, but its st_ctime is updated
after a delay of a few seconds. This would explain the observed behavior.
See, for example:
https://bugzilla.redhat.com/show_bug.cgi?id=1058526
which does indeed illustrate remote file-system bugs that can cause the
behavior in question. (Mark O'Keefe's proposed change to tar isn't
right; there are security reasons to worry about ctime as opposed to mtime).