I was trying to clean out some transactions out of a wallet, so I restarted bitcoin with -zapwallettxes, but after rescanning it ended up having the same transactions again. The next time I deleted the mempool.dat and restarted with zapwallettxes and it actually worked.
So thinking it probably makes sense that the default behavior of zapwallettxes is to clear out the mempool at launch.