Destroy throws render error

Hello. I built an application using Resium which uses several models, tilesets, polyline and polygons.
All are components under the Viewer component. What is the right way to exit from the whole Cesium component?
When i try to destroy the models i get this error:

An error occurred while rendering. Rendering has stopped.
DeveloperError: This object was destroyed, i.e., destroy() was called.
Error
at new DeveloperError (http://localhost:3000/cesium/Cesium.js:82:23)
at Model.throwOnDestroyed (http://localhost:3000/cesium/Cesium.js:29066:23)
at PrimitiveCollection.update (http://localhost:3000/cesium/Cesium.js:131116:31)
at updateAndRenderPrimitives (http://localhost:3000/cesium/Cesium.js:237416:31)
at executeCommandsInViewport (http://localhost:3000/cesium/Cesium.js:237250:17)
at Scene.updateAndExecuteCommands (http://localhost:3000/cesium/Cesium.js:237058:17)
at render (http://localhost:3000/cesium/Cesium.js:237721:19)
at tryAndCatchError (http://localhost:3000/cesium/Cesium.js:237740:17)
at Scene.render (http://localhost:3000/cesium/Cesium.js:237815:17)
at CesiumWidget.render (http://localhost:3000/cesium/Cesium.js:250280:29)

Thank you very much

Not sure if this is still relevant, but for anyone who lands here due to searching for that specific error:

PrimitiveCollection.remove() already calls Primitive.destroy(). Calling destroy() again results in that error.

This behaviour can be toggled by setting destroyPrimitives to true or false.