The turn 5 Sea Hag is unfortunate, but by then you know that you have 3 Silver or terminal Silver equivalents remaining in your draw deck, which means that you are all but guaranteed to hit $5 in this shuffle. Start buying Menageries instead. When you Upgrade Estate, get Great Halls or Menageries over Silver. Getting so many Silvers is bad for you on two levels because it makes your deck less trim (as DG pointed out) and it makes it more likely for Menagerie to fail.
On turn 7, I would have considered the Haggler from the BM. Yes, it does introduce a third terminal into your deck, but you can grab Upgrade + Menagerie on Haggler plays, which is pretty strong since you can just change the extra Upgrades to GMs.
You don't need 5 Upgrades. The sweetspot would be 2-3 Upgrades. When you get that many, you start drawing them with nothing to trash, although it's not so bad in this kingdom because you can upgrade Upgrades to GMs, which is something that you should have considered doing on, for example, turn 13. At some point you want a Gold because your only non-Copper source of income should be 3 Silver or terminal Silver equivalents and it's pretty unlikely that you'll get them to collide early on. Gold is better than another Silver for this because it's another unique card for Menagerie.
Whether to go for the Black Market is a good question. The two things that you really want out of the BM are villages and virtual $. It kind of helps that BM helps add unique cards to your deck and synergizes with Menagerie in that way.
(Also, going to nitpick here, but what was stated earlier by DG in the topic before you posted the game log was definitely not your plan.)
EDIT: you actually had an opportunity to end the game here with a win if you upgraded one of your Silvers into a Sea Hag before you reshuffled your deck, then drew that Sea Hag with an Upgrade and trashing it into a Duchy.