I know that a large number of key pairs in wallet.dat is not a concern. But is having too many transactions in wallet.dat an issue?
Can Bitcoin Core start crashing after it reaches a certain number of transactions? Say over 100K?
Large wallets take significantly longer to initialize and eventually bog down the client to the point of making it completely unusable (calls that attempt to sort usable outputs to spend for example get slower). Bitcoin Core's wallet really isn't designed for commercial scale use, but many people have found it usable with half gigabyte wallets (hundreds of thousands of addresses and transactions) or more in this sort of setting.
Once you get beyond the scaling of Bitcoin Core the only other realistic option is moving into a completely custom wallet system, though this has significant risk and cost involved.