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