I wonder if you also need to take contract instance RAM usage into account as a dApp developer on top of estimating the persistent storage RAM usage (since it will have to be temporarily stored in the BP's memory every time an action executes). And if so, do you also have to take into account multiple users instancing the contract at the same time in the same block?
P.S.: On the Dawn 4.0 that I'm running accounts seem to have infinite RAM, so I have no idea how it's going to work in a real environment where devs actually have to purchase RAM.