Sage.CNA.WindowsService service getting terminated repeatedly

Hi 

We have encountered an issue where the Sage.CNA.WindowsService service terminates unexpectedly 3-4 times daily. 
When this happens, Sage hangs until the service is restarted. As you can imagine, this is very inconvenient. 
Sage 300 v2021. Users are almost exclusively on Web Screens.  

Thus far we have been unable to pinpoint exactly what causes the error to manifest or how to fix it.
Can you please assist? 

Event viewer log below: 

Level: Error
Source:.NET Runtime
Event ID:1026
Task Category: None
Application: Sage.CNA.WindowsService.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at AccpacCOMSVR.AccpacSvrViewClass.Close()
at ACCPAC.Advantage.Server.View.Dispose()
at ACCPAC.Advantage.View.Dispose()
at Sage.CA.SBS.ERP.Sage300.Common.BusinessRepository.BusinessEntity.Destroy(Boolean)
at Sage.CA.SBS.ERP.Sage300.Common.BusinessRepository.BusinessEntity.Destroy()
at Sage.CA.SBS.ERP.Sage300.Common.BusinessRepository.BusinessEntitySession.CloseViews()
at Sage.CA.SBS.ERP.Sage300.Common.BusinessRepository.BusinessEntitySession.Destroy(Boolean)
at Sage.CA.SBS.ERP.Sage300.Common.BusinessRepository.BusinessEntitySession.Destroy()
at Sage.CA.SBS.ERP.Sage300.Common.BusinessRepository.Utilities.ObjectPool`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Destroy(Sage.CA.SBS.ERP.Sage300.Common.Interfaces.Utilities.IPool)
at Sage.CA.SBS.ERP.Sage300.Common.BusinessRepository.Utilities.ObjectPool`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].DestroyPool()
at Sage.CA.SBS.ERP.Sage300.Common.BusinessRepository.BusinessPoolManager.CleanSessionPool(System.Object)
at System.Threading.TimerQueueTimer.CallCallbackInContext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.TimerQueueTimer.CallCallback()
at System.Threading.TimerQueueTimer.Fire()
at System.Threading.TimerQueue.FireNextTimers()
at System.Threading.TimerQueue.AppDomainTimerCallback(Int32)