M$FREE を使用して、M$ALLOC で割り当てられたメモリ ブロックを解放します。このメモリは、ランタイムで使用可能なメモリのプールに戻されます。ほとんどのオペレーティング システムの場合、このメモリはランタイムのプロセスに関連付けられているため、他のプロセスで使用できません。一部のシステムでは、このメモリは、他のプロセスで再利用するためにオペレーティング システムで利用できます。
一度メモリのブロックを解放した場合、そのブロックを使用しようとするとエラーになります。また、メモリのブロックを複数回解放したり、割り当てられたことのないメモリ アドレスを解放したりするとエラーになります。これらのエラーにより、メモリ アクセス違反が生じる場合があります。ランタイムは、エラーを検出して回避しようとしますが、このようなエラーをすべて検出できるわけではありません。