Suntrust Bank and I have heard that others do it as well, but I only have actual experience with Suntrust. When an account go nsf, the bank holds electronic transactions and small debits to your account and Processess the largest transactions first. The time span varies with slightly with the posting deadline, ie weekday or weekend, but they post the largest transactions so they can charge you a $35 fee for each of the smaller ones.
Example. I wrote a check for $100 and did not log in in the register. Later that week when the check was posted to the account, I watched as they withdrew 8 minor transactions and processed the check. Then they reprocessed the small transactions, $3.95, $8, 00, $14.75, $22.00, $5.50, $6.69, $10 and $5.79 and charged me $35 each. Count them, They charge me $280 rather than process charge me $35 for the check, which by the way came in last.
I had verified the balance earlier that day to see if I had enough to make a purchase. I decided not to make the purchase because the balance was low. On my electronic statement, the check had not been presented. The following day, I watched as they withdrew my paid debits, posted the check and then paid the electronic debits again and charged me $35 each time. Letters to everyone in the bank here in Atlanta, in Florida and two other cities yielded no positive results.
the first time it happened, it was only one fee. But the second time, I saw the technology in action and closed my account. We are still in dispute about the debt.