We tried to compensate for these problems in the following way:
-Corpse looting. If the attacking player wastes his units, and hundreds of them die on the walls, or near the wall, defender would get his peasants looting the corpses - and income from that is huuuge.
-Player`s inside the castle would still have access to resources, yes it will be significantly less, but it`ll give defender a chance to survive until his Allies can help, or he can prepare to counter attack.
-Since wood and stone is hard to come-by while under siege, defending player will mostly be able to build infantry/cavalry force. Which in turn will force him to ride out and take the battle outside.
So yeah - there are ways out.