Dired is an abomination filling up your buffer list as you traverse directories.
This is the patch that added the feature you wanted to dired. 30 lines of diff, 20 of which is documentation.
Calling a piece of exceptional software an "abomination" because of one specific behavior that you find annoying is the wrong attitude to have, especially for an emacs user.
It is emacs. You can make it do whatever you want within a few lines of lisp.
This is why emacs takes the conservative approach and chooses not to throw away dired buffers by default and gives the users the option of choosing to do discard the current buffer consciously by using the "find-find-alternate" command (bound to "a" by default in dired-mode-map).