Hundreds of nodes connect and disconnect from the network everyday and as long as they have no track of dropped transactions or when a transaction has been created and broadcast, a transaction may remain unconfirmed for infinity.
It may, but not simply because of nodes connecting and disconnecting. By default a node will only relay a transaction when it first learns of it. If your node goes offline and comes back online, it doesn't rebroadcast its mempool. Your node will only rebroadcast your own transactions, not its entire mempool.
But yes, someone else could endlessly rebroadcast your transaction so it never drops from the majority of mempools. However, this doesn't matter. It can be replaced at any time regardless, especially now that full RBF is commonplace. Therefore although your original transaction is never dropped from the mempool, your coins are never frozen or stuck and you can still spend them at any time you like by making a higher fee transaction.