Disposing objects in SharePoint is important, but never do it with objects from SPContext.Current. SharePoint will manage disposing these objects itself.
using (SPWeb web = SPContext.Current.Site.RootWeb){//do something here}
❌ Figure: Bad example - Using statement is trying to dispose current site object - it will cause exception
Just simply use "Current" object directly.
SPWeb web = SPContext.Current.Site.RootWeb;//do something here
✅ Figure: Good example - Use Current objects directly - don't need to dispose them