title: What of this C# code can result in a call to free() in compiled form?
body: <p>I'm investigating a stack trace of a compiled Unity C# code. It results in an error inside the standard C free() function. The frame where the free() is called is a pretty simple method, which looks like this:</p>
  
  <pre><code>void Method()
  {
      SomeOtherMethod();
  
      if (StaticClass.StaticProperty == SomeMethod())
      {
          StaticClass.StaticProperty = 0;
  
          StopCoroutine("Coroutine name");
  
          if (m_privateField &lt; CONSTANT)
              YetAnotherMethod();
          else
              AndOneMoreMethod();
      }
  }
  </code></pre>
  
  <p>It seems to me that all I do here is calling other code and doing very basic equality comparisons and conditions; however, there is no other frames between this code and free(). What part of this could possibly call it?</p>
  
  <p>Here's this part of the stack trace symbolized by xcode:</p>
  
  <pre><code>11  libsystem_c.dylib               0x3aa5be90 _sigtramp + 40
  12  libsystem_c.dylib               0x3aa272dc free + 168
  13  dev                             0x002ea644 ___lldb_unnamed_function10628$$dev + 176
  </code></pre>
  
  <p><a href="https://stackoverflow.com/questions/19539907/c-sharp-part-of-ios-crash-log-stack-trace-doesnt-make-any-sense">I was able to determined that line 13 is this method with the help of atoc.</a></p>