For the tracing, make sure there are no overlapping faces like this :

as it will create some problem for the boolean step.
Now try this :
In Edit Mode, select your whole traced model, and extrude it so it has a depth.
select it all, press W - Remove Double in case of a duplicated vertice problem
then press CTRL+N to recalculate the normal, you don’t want inverted faces/normals when trying to use a boolean.
(you can select Textured view, select Smooth to see if there’s an inverted normal, they allow to see them quickly)
get the model back to Flat.
Now always having the whole model selected press P then select “By Loose Part”. Because the booleans do not like much models that are a combination of separated parts but are joined as 1.
So every loose parts of your model will be its own object.
Add a Cylinder, resize it how you need, and add a Difference Boolean (or whatever kind of boolean you need) to the Cylinder, and at the line Object, select one of the loose parts that are now separate model, once done, click Apply and delete the loose part.
Do this one by one for every of your separated objects, in the end it should work without crashing or destroying the whole model.
