Hello,
Kudos for your first .NET code! Yes, this sounds about right, if the page is cached, the cached content is returned until the cache expires. You can disable the cache for the given page (CMSDesk / Properties / General) if that is an option for you. Usually, dynamic pages aren't cached. There are some exceptions (e.g. for small changes, like a salutation
substitution macros can be used), but in general you should disable full page caching and enable partial caching on web parts which aren't changed to leverage the caching as much as possible.
Best regards,
Boris Pocatko