Questions about RenderTargets...

That’s a good way to do it. It’s generally not hard to do and it’s flexible. There’s other options, but what’s best for your game really depends on what you want to be able to do. What kind of game are you trying to make?
That said, if you already have SpriteBatch.Draw calls all over the place passing a matrix to Begin may be the easiest solution.

No, classes that have unmanaged resources usually implement the IDisposable interface. That interface defines a function Dispose that should be called to release the unmanaged resources. For RenderTargets that means releasing the VRAM they use. So when you no longer need a render target, you need to call Dispose on it before removing the reference.
ContentManager.Unload is used in a ContentManager to release all assets it loaded using ContentManager.Load. For assets that implement IDisposable it calls Dispose before releasing them so you don’t have to. But since you don’t create RenderTargets using a ContentManager this doesn’t apply here.

You can make a 2d game without touching RenderTargets at all, so don’t worry about it too much. If you have specific things you want to implement and don’t know how or run into performance issues or whatever, just post here on the forum and someone will surely help out :slight_smile: