Я вот на одном проекте, правда, еще на 3.0 видел такие исправления кода с очень примечательными комментариями:
X++:
// уменьшение утечек памяти путем избавления от конструкций вида Map.exists([keyVal1, keyVal2, ...])
//if (dataMap.exists([keyVal1, keyVal2, keyVal3, keyVal4]))
container conKey = [keyVal1, keyVal2, keyVal3, keyVal4];
if (dataMap.exists(conKey))
Уж не знаю, правда, как это влияет на утечки памяти, - сам не проверял.
Возвращаясь к исходной публикации про buf2con() - что характерно, в 2012-й эту функцию ради ускорения работы (а, может, и для устранения утечек памяти

) вынесли в ядро, переделав с упаковки в контейнер отдельных полей на формирование "монолитного" BLOB'а. Симметричные изменения были сделаны и в con2buf(). См. также
Improvements on the global methods buf2con and con2buf in Microsoft Dynamics AX 2012