The issue is with subclass style applications. If you use multiple sublcass apps mounted at different URLs via Rack you incur the full overhead of the framework for each subclass instance. It's not a bug, it's just the way it's designed.
I heard this one before, and for all I can tell it's simply not true. What's your setup?
I have tried some simple benchmarks against two apps. One with a single subclass, and another with 3 subclasses. The one with a single subclass used 22M (RSS), the one with 3 subclasses used 23M (RSS).
I don't have such a simple example handy, but it's not drastically different from your setup except I subclass an Application class, which subclasses Sinatra::Base. I'm loading about 10 subclasses, not 3. I don't have the numbers handy but when I last tested it, adding subclasses did add several MB of memory per instance.