Leaking Go routine related to PeerStore

I have a unit test that exercises the direct one to one communication using yamux streams and if the test is ran several times over, it fails and I get a dump with several hundreds of these messages.
It seems like a peer store Go routine is leaked. The test is fairly straight forward - create two peers, connect one to the other and send a message via the stream that is established and then close the stream.
Is this something you have seen before? Would appreciate any insights.

  goroutine 54611 [select, 9 minutes]:


        /Users/vishalchangrani/go/pkg/mod/github.com/libp2p/go-libp2p-peerstore@v0.1.4/pstoremem/addr_book.go:81 +0x12f

        created by github.com/libp2p/go-libp2p-peerstore/pstoremem.NewAddrBook

        /Users/vishalchangrani/go/pkg/mod/github.com/libp2p/go-libp2p-peerstore@v0.1.4/pstoremem/addr_book.go:71 +0x18e

This is https://github.com/libp2p/go-libp2p/issues/718, unfortunately. The current solution is to call myHost.Peerstore().Close() after calling myHost.Close().