It could be they have a really low limit for how much memory your application can run. This is not really bad in terms of them being a "bunch of shitloaded business" - I bet you pay pretty much nothing for your hosting, and as sad as you may find it, a server's memory is a limited resource. If you pay monthly USD 600 for a 32gb machine (not even that high, dont forget that you also need a switch port etc. to just get it run, and it costs electiricty, and Microsoft wants money for the operating system, too), and we deduct 2Gb for OS etc., then every Gb in use costs USD 20 per month. If the part of your payment for hardware is USD 2 (after all you also pay for service, bandwidth etc.) then this means you can use up 1/1th of a GB in memory, which runs down to 100Mb, roughly. Probably less as IIS also wants to have some memory and stuff like that.
Now, you can call them a "bunch of shitload business" for that, but that does not change the fact that they have a right to earn money, and the resources you obviously use are over the head of what you pay for.
100mb should be enough to handle 20-40 people - that is unless you do bad programming. Anything in the session is expensive then.
I heard good stuff about discountasp but also heard that they allocate some small amount of memory for each customer.
Well, unless they get their hardware for free (unlikely) all their math is going to be exactly the same than for anyone else. This is not really a question of recommending you a better cheap host, but you HAVING to pay up for the resources you use. Which means putting more money on the table, in the end. Server capacity costs money, especially if it has to be reliable.
20-40 people logged in is definitly WAY above what the smallest plans of hosts are calculated for. Most sites get 1-3 users concurrently maximum (remember all the sits basically noone ever looks at), so with 20-40 at the same time you just need a bigger plan. If you ahve the resources I would run a test at home and look how much the memory consumption goes, then tell hosts about that.
The bandwidth does not enter here - this is normally calculated so that people do not reach it normally. Pretty simple mixed calculation. On top, it is a lot cheaper than you may think, compared to the infrastructure cost. I can get in hosting centers a 30mbit to 50mbit flat line for the rent of a big server.