The out of memory error is caused by the script of "WinCon.cs" entering a state where "collisionCounterCircle >= requiredCollisions" is true where two objects are instantiated. Unfortunately, "collisionCounterCircles" is never reset so this condition is true forever resulting in the continuous creation of objects until memory runs out. At some point, because physics is dealing with more and more objects it asks for more memory which is refused and triggers an out-of-memory assert.
The error here is in the script logic creating too many objects without limit.
This was quickly found by debugging the project, placing a breakpoint where instantiate happens. In the future I would recommend following the debugging guide so issues lik this can quickly be found:
https://docs.unity3d.com/Manual/ManagedCodeDebugging.html