<p>As far as I can tell, this is isn't possible, so I'm really just hoping for a left field undocumented allocation hook function.<br>
I want a way to track allocations like in <a href="http://msdn.microsoft.com/en-us/library/cy8c7wz5.aspx" rel="nofollow noreferrer">_CrtSetAllocHook</a>, but for <code>C#/.NET</code>.<br>
The only visibility to the garbage collector/allocation appears to be <a href="http://msdn.microsoft.com/en-us/library/system.gc.collectioncount(VS.80).aspx" rel="nofollow noreferrer">GC.CollectionCount</a>.<br>
Anyone have any other .NET memory mojo?</p>

The CLR has a 'profiling API' that hooks into pretty much everything - it is what the commercial .NET memory profiling products use, I believe. Here is an MSDN link to the top level of the documentation:
.NET Framework General Reference: About the Profiling API
See this MSDN magazine article for an introduction to the memory piece:
Inspect and Optimize Your Program's Memory Usage with the .NET Profiler API