Deleting buffers at run time makes the next draw call ends with an access violation.
This one makes me seriously wonder what you're doing.
Are you creating and deleting the buffer objects for every frame? That is a very big no-no. What you need to do is create them once and delete them when you're done with them, at the end of the game, or at the end of the level, or whenever you don't need the objects anymore. But don't create and recreate them on a per-frame basis.
I can also interpret your question as a serious ownership-problem; you are deleting objects that shouldn't be deleted in the first place because you are still using them. In that case, you should read up on resource ownership and what it means with something owning a resource and controlling when it's being deleted. In no case should a resource be deleted that you either need or have a replacement for (such as a dummy resource that you can use instead of the actual resource isn't available).