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?

questionAnswers(5)

yourAnswerToTheQuestion