Okay I got it figured. Maybe something just clicked when I worded out this question. The solution is to remove databaseName and connectionString from TestContainerFixture properties and pass them around as parameters all the way from TestClass IAsyncLifeTime. Maybe TestClass wasnt creating identical guids at all, maybe I was confused as TestContainerFixture had only one instance and private properties weren't updating. I used ITestOutputHelper to figure this out.
Have to test this out again sometime, but its working now.