I've found that raylib::Model class is deraived from ::Model structure.
Whe you instantiate raylib::Model with default constructor no any members of ::Model is initialized, under Visual Studio you got all of members filled with some debug non zero values.
When you try to call ~Model destructor you will try to free memory by invalid pointer.
This Code inserted anywhere in main will cause an error:
{
raylib::Model model;
// You'll get an exception on block exit
}
Very quick fix - add base structure initialization like this:
/**
* Model type
*/
class Model : public ::Model {
public:
Model() : ::Model{}
{
// Nothing.
}