I had a quick look at your events. Your collision checks are done very inefficiently.
You have a *lot* of collision checks that look like this:
+ On collision between A and B
+ Var = 1
-> Do something
+ On collision between A and B
+ Var = 2
-> Do something
+ On collision between A and B
+ Var = 3
-> Do something
+ On collision between A and B
+ Var = 4
-> Do something
+ On collision between A and B
+ Var = 5
-> Do something
etc. etc. This example does 5 separate collision checks.
If you use subevents like this:
+ On collision between A and B
----+ Var = 1
----> Do something
----+ Var = 2
----> Do something
----+ Var = 3
----> Do something
----+ Var = 4
----> Do something
----+ Var = 5
----> Do something
That does one collision check, then does a simple check for the variable. This is literally 5x faster than the previous way, and you do this again and again and again in your events.