Много лет назад меня увещевали по возможности освобождать ресурсы в порядке, обратном порядку их распределения. То есть:
block1 = malloc( ... );
block2 = malloc( ... );
... do stuff ...
free( block2 );
free( block1 );
Я предполагаю, что на машине MS-DOS с 640 КБ это могло бы минимизировать фрагментацию кучи. Есть ли какое-либо практическое преимущество в том, чтобы делать это в приложении C#/.NET, или это привычка, которая изжила себя?