After my first time building my code in Xcode 26, I got the first error that you mentioned. So, because I was not using the Encodable part of the Codable conformance, I simply switched it to Decodable and it made that error go away but kept the circular reference bug.
Then, I followed KeithB's solution and added nonisolated to each struct that was throwing that error. I am new to Swift Concurrency and don't really know what repercussions this change could have on my codebase and concurrency (I assumed that it wouldn't be critical because of Swift's data race safety).
I am using these structs as a way to decode JSON into a struct from an HTTP GET/POST API. I am sending a request to the web service and receive the JSON in exchange. I use the built-in JSONDecoder to decode. All of the JSON processing runs in an asynchronous function so that it doesn't cause any hangs in my app.
As of right now, with KeithB's solution, my app is working fine but as I potentially integrate more concurrency later in development, will there be any issues directly stemming from using nonisolated as opposed to MainActor?