<p>Can anyone explain to me what this means?</p>

<p>"Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call.  This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention."</p>

Possibility #1 is your object got Aliased wrong. That means the compiler mistakenly casted an object incorrectly, most commonly as an optimization.
Possibility #2 your using a reference to an object that isn't valid.
Possibility #3 something totally unrelated broke your stack, likely a buffer overflow.
Without code sample It's hard to predict beyond these possibilities, but they cover 90% of what might be happening.