How to identify a freeze bug?

I am currently encountering a tough to identify bug in our game.

When I run the game in Unity it freezes over.

There are no errors on the Console before the freeze

The memory usage is around 350 Mb – 400 Mb and no high CPU usage

The freeze happens in various stages of the game. Sometime it is at the start sometimes in is in the middle or at the end.

I am finding it hard how to identify the cause of this error. Is there any method I can follow to get a clear idea what may be causing the problem?

Are there any tools I can use to figure out what is happening in the game?

Attach MonoDevelop to the process and click “Pause”. See where the code is in the call stack.

[16644-screenshot+2013-10-17+12.59.12.jpg|16644]

Love this answer, but I am unable to get the new Visual Studio for Mac to pause any Unity app under any conditions, though it does attach to the process.