The reason is the developer themselves. They are too afraid to spend any money on the exchange site and dont want to spend money from their pockets. More often then not the coins or tokens are worthless if you think of, the developers are trying to collect as much fund as they can so they charge more.
The reason you give is very appropriate, because almost all project developers are very afraid of spending their personal money when they want to create a token listing in the market, so they use the time to collect as much funds as they can, even though such things are very logical, but they themselves do not dare take that risk.