algosdk.error.AlgodHTTPError: broadcast queue full

I am running an experiment on the private version of the Algorand network. I am using

./sandbox up dev

When I submit 100 transactions on this network, I get the following error:

raise error.AlgodHTTPError(e, code)
algosdk.error.AlgodHTTPError: broadcast queue full

My understanding is that the queue for saving the transactions is full. But after sending the transactions to the network, I check for the confirmation and I get the confirmed round as well. But apparently, the queue is not getting purged. After sending 100 transactions, from the 101st transaction, I get the error. Even if I wait for minutes and try sending the next one, I still get the error. The only way that I found is to do:

./sandbox down
./sandbox up dev

After doing this, I will be able to send another 100 transactions. But the queue would never POP the transactions that receives. So I will not be able to send 10000 transactions to the network and run my experiment. Could you please let me know if I am missing a step?

Please describe a bit more your method for sending transactions. Are you building/signing/sending one-at-time or batching?

It’s not clear to me if this is limited to Sandbox or all algod nodes. Here is an old Issue which references similar:

I am sending them one-at-time with a short delay (0.1 S). I tried to add more delay between sending them, but it did not help. The maximum would be still 100 transactions.
This is the method I use to send transactions:

def call_app(algod_client, private_key, index, app_args):
    sender = account.address_from_private_key(private_key)
    params = algod_client.suggested_params()
    txn = transaction.ApplicationNoOpTxn(sender, params, index, app_args)
    signed_txn = txn.sign(private_key)
    tx_id = signed_txn.transaction.get_txid()