I don't have certain answer for you, but a deep suspicion. If I get bored I'll confirm it. Confirmed below.
In each pass of loop(), you have:
dataFile = SD.open("log1.csv", FILE_WRITE);
In short, finding the end of the file is linear operation in a FAT filesystem. It must follow the allocation chain to find (or create), the last cluster of the ...