Hi @rkhaotix,
I had a quick look at your code. It's too big for me to go through properly, and I didn't spot anything obvious that maxes out your CPU.
However, I noticed a few things which might be related:
Your ModelExportHelper constructor is run in the main thread, so it opens the DB connection in the main thread. Are you sure you can use that connection in the worker thread after this?
In line 56 of modelexportform.cpp: the lambda runs in the signalling (GUI) thread, not the worker thread. Note that, while the QThread manages the worker thread, the QThread object itself lives in the GUI thread.
Your ModelExportHelper uses some GUI-related classes: QGraphicsView, QPixmap. These classes must only be used in the GUI thread.
Your ModelExportHelper includes "modelwidget.h". Why? Widgets must only be used in the GUI thread.