Hi Ho !
Several people are mentioning this issue and it seems to be quite inconsistent, so I started testing a few things.
What I am testing on (just to make it quirkier too)
Intel Core-Duo 4400 @ 2.0 Ghz CPU
Windows Vista/32 with 4GB Ram (and YES I am running with 32bit even with extra ram)
Net Framework 3.51
OpenSim GIT Source, compiled with NET 3.51 on the Vista Machine (using the batch files to compile).
Current OS Version "OpenSim 0.7.4 Dev 4f17537-r/18491 (Win/.NET)"
Configured as StandAlone with HG, MySql 5.5.16 (optimized)
I started with an initial 4 regions, Light region 100 prims 50 scripts to heavy region 18,000 prims & 6000 scripts.
Added another region, placed buildings, built objects and saved scripts. ALL GOOD
Added yet another region (now 6) tossed a bunch of prims and plopped in existing scripts & created new ones. ALL GOOD.
So What is different between my configs & others ? Well the answer may be laying there in ambush mode waiting to jump out

.
OpenSim.ini bits extracted which are different from the usual.
Code:
** LINES 64-84 **
;; ##
;; ## SYSTEM
;; ##
;; Sets the method that OpenSim will use to fire asynchronous
;; events. Valid values are UnsafeQueueUserWorkItem,
;; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread.
;; SmartThreadPool is reported to work well on Mono/Linux, but
;; UnsafeQueueUserWorkItem has been benchmarked with better
;; performance on .NET/Windows
async_call_method = SmartThreadPool
;; Optimizations from Default of 15
;; 15 good for Single Core CPU IE: P4
;; 30 for Dual Core + CPU's
;; 45 for Quad Core + CPU's
;; DEFAULT 15
;; Max threads to allocate on the FireAndForget thread pool
;; when running with the SmartThreadPool option above
MaxPoolThreads = 30
** NEXT DIFFERENCE (I use Warp3D maptiles should cause no difference) **
** Lines 220-248 **
; ## WORLD MAP ##
; ##
WorldMapModule = "WorldMap"
MapImageModule = "Warp3DImageModule"
; World map blacklist timeout in seconds
;BlacklistTimeout = 600
; Set to false to not generate any maptiles
GenerateMaptiles = true
; Refresh (in seconds) the map tile periodically
MaptileRefresh = 0
; If not generating maptiles, use this static texture asset ID
;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000"
; Draw objects on maptile. This step might take a long time if you've got a large number of
; objects, so you can turn it off here if you'd like.
DrawPrimOnMapTile = true
; Use terrain texture for maptiles if true, use shaded green if false
TextureOnMapTile = true
;; (this is in either StandAloneCommon.ini or GridCommon.ini, can [should] be set here with rest of map stuff IMO)
;; Directory for map tile images of remote regions
MapTileDirectory = "./maptiles"
** NEXT DIFFERENCE **
(not really but it's important between Linux & Windows, enabled osFunctions etc as expected)
[XEngine] section
;; However, setting this to false will also prevent script DLLs from being unloaded from memory if the script is deleted.
;; This may cause an OutOfMemory problem over time when avatars with scripted attachments move in and out of the region.
;; Some Windows users have also reported script loading problems when AppDomainLoading = false
AppDomainLoading = true
** A DIFFERENCE IN [XENGINE] that is NOT usual **
ScriptEnginesPath = "../ScriptEngines"
!! Reason for above difference:
This put ScriptEngines directory @
c:\opensim\sa\ScriptEngines instead of c:\opensim\sa\bin\ScriptEngines
The benefit is that it persists between updates / upgrades etc of OpenSim.
The only other difference aside from the usual stuff is my FlotsamCache.ini which I don't think should affect anything BUT ya never know.... so here are my settings.
NOTE that I also place the assetcache out of BIN substructure, just like the ScriptEngines making it less tedious upgrading OpenSim and to also conserve disk space (by not having to backup the cache files with each upgrade which can be extensive)
Code:
[AssetCache]
CacheDirectory = "../assetcache"
LogLevel = 0
HitRateDisplay = 100
MemoryCacheEnabled = false
FileCacheEnabled = true
MemoryCacheTimeout = 2
FileCacheTimeout = 48 ; keeps cache for 48 hours
FileCleanupTimer = 1.0 ; check & clean cache once an hour (frequent enough)
This should be put into Mantis by the people experiencing the problem so that the Dev's can track & address the issue.
In any case, hope this helps and maybe if it does then the solution could be posted to Mantis so that it can be incorporated into the master source and fixed for all.
[EDIT]
By the way, it should not be a limiting factor with how many regions you have running in an instance. The correct solution would not limit such within reasonableness. Consider that a 769x768 Mega (9 regions) or 512x512 Quad Mega-Region is fairly common as is 4, 6 & 9 standard regions per instance.
Hope it Helps.