A few moments ago, I had a withdraw from one exchange to another.
I paid ~90c in fees. The sender (Exchange 1) paid ~$40 in fees and >400 gas. Then Exchange 2 (auto) moved the coins through a contract for another $20 in fees.
This transaction costs $60+ in fees.
It is known with average transaction fee on ERC20 chain, and especially not strange if your transaction includes a complicated smart contract.
While some of you may goat that exchanges deserve it, this is not sustainable for a long period. And in the end, the user is always paying the expenses.
Exchanges can charge you high fees, higher than what is necessary if you proceed your transactions from the wallet you can control gas and fee. Unfortunately, you can not blame all things on exchanges as transaction fees depend on the blockchain network. It can be high or low, at different time.
If you don't have instant demand to move your tokens, coins, let's choose the time when average fee is cheap and move yours. This in turn can result in another risks, store your coins or tokens on exchanges for longer. And you have consider risk and benefit to make decisions.
At the moment, average transaction has gas price at 186 Gwei, that is higher than normal gas price about 5 to 6 times.
https://ethgasstation.info/calculatorTxV.php