詳しくてとても参考になった。
mallocでメモリ確保・開放を行った場合、メモリブロックの大きさによって挙動が異なるとのこと。大きなブロックはすぐ返却。小さなブロックは保留され、OSでメモリが必要になった時に回収されるとか。
以上の考察をまとめると、次のように考えるのが良いのかもしれません。
Resident Size はアプリのメモリ消費のピーク量を把握するには適切な指標である。
アプリ内でもリアルタイムなメモリ使用量を把握する目的で Resident Size を観察するのは適切でない。
ある瞬間におけるメモリ消費の実態を把握するには Allocations と VM Tracker の併用が欠かせない。
良記事。