OK.
@TheSilverhand : please stop adding new functionalities to your map right now.
It is urgent that you clean up your triggers first. Leaving the triggers like that and keeping adding more functionalities is just pure self torture.
Please stop making 10 copies (without renaming them) of a trigger or an action when you want to use them for every player. It his horrible. Just create an array, then you only have to change the array index with the player number.
I have spent a lot of time tracking everything related to your reviving system, it was all over the place.
You used 2 timer variables and you copied them 9 times to have 1 for each player. NO! Never do that, you're making your code a nightmare to read and you're making your life very difficult.
You need a timer for each player ? Easy : create a Timer array, then use the player number as the index and you only have to use your actions once.
I remade your hero revive system. I haven't tested it yet because I want you to look at what I did so far.
I also could not stop myself from changing your trigger that displays deaths and kills on the multiboard, it was another trigger replication horror.
I put these 2 things at the beginning of your triggers and gave them proper names :
"Multiboards and death counts"
and
"Hero Revive For Gold"
I also created the appropriate variables INSIDE the categories, and removed all the copies of copies of copies... of the old ones, as well as the related copies of copies of copies... of your actions.
Please spend some time looking at the new triggers, and how amazingly smaller and easier to understand they are. This should help you using a similar process to remake other triggers you made the "copy of copy of copy..." way.
I am sure you could reduce the size of your whole map triggers by 3 or 4 if not more this way.
Honestly, I would even do it right now IF I had the time.
IMPORTANT NOTE : it is important for you to know that you cannot use WAITS inside a trigger if you are using event responses (triggering player, dying unit, etc...) after these waits, chances are high the trigger will not know what they are after the wait.
ALSO : Use variables. Store the event response Player or Unit or anything else in variables. You can't use local variables like in Jass, but if you use global variables, at least other triggers using the same event responses won't conflict with your trigger.
Anyways, I don't say all this to be nasty, on the contrary. I like your map, and I believe you could make it really stable with some trigger cleaning.
If you do the cleaning, I can promise to sort out all your leaks, but I don't have the time to do the whole cleaning before.
This said, I am also willing to give you any help you would require if you had any trouble cleaning your triggers.
But please don't leave them like that !
EDIT : I am going back to your map to test what I changed. I'll keep you updated.
EDIT 2 : After testing, the Revive for Gold seems to work quite nicely