One reason could be the pre-auth amount, which is set by your bank and by the gas station. When you scan your card you are pre-authorizing a certain amount. It might be $100, or $75, or some other amount. After you are done dispensing then a settling transaction for the actual amount is sent to your bank and they should remove this per-auth hold. But if your pre-auth was for $100, then that is as if you went inside and gave them 100. The pump stops at that point.
Not sure about a gallon limit. It might just be a coincidental alignment with the pre-auth amount.
That’s what my local gas station states, they have a sticker with each bank/credit company and their limits, ranging from $100 to $300 depending on the institution.