It is natural that HBsAg levels fluctuate a bit. The research community are still unsure what the underlying mechanisms may be (and indeed it may be different things causing it in different people), so it is not possible to answer your question definitively.
Wow, that’s incredible that you decreased from 7069 to 641. Were you on any sort of treatment such as interferon, or other experimental drugs that are meant to help decrease surface antigen? I mean honestly, anything under 1000 is fairly low. I’m currently in a clinical trial for hepatitis B, and I’ve been told that the rate of decrease slows as we get closer to undetectable – sort of like exponential decay.