C #: Existe uma vantagem para descartar recursos em ordem inversa de sua alocação?
Muitos anos atrás, fui advertido a, sempre que possível, liberar recursos em ordem inversa a como eles foram alocados. Isso é:
block1 = malloc( ... );
block2 = malloc( ... );
... do stuff ...
free( block2 );
free( block1 );
Imagino que em uma máquina MS-DOS de 640K, isso poderia minimizar a fragmentação de heap. Existe alguma vantagem prática em fazer isso em um aplicativo C # /.NET, ou este é um hábito que sobreviveu à sua relevância?