I don't think "disabling" a contract is possible since a "contract" in Cardano is not deployed anywhere on chain. The script/contract is supplied with a transaction that wants to spend UTXOs sitting at the contract address (which is basically a hash of the script code). Anybody can construct such at transaction at any time and the validator node will need to validate it.
The network will not be congested because as others have pointed out "contracts" in Cardano are completely passive and do not run on their own. They only run if a transaction wants to spend UTXOs sitting at the script address. If somebody would want to attack the network and construct millions of such transactions to run the code it would ruin him because each transaction has to pay fees and the fees are based on the resources needed to run the script. The more computational/memory heavy the script is the more fees you have to pay.