2D Multi Scale Dot Enhancement Filter based on Gaussian Filter and Hessian Matrix
Questioner's answer...


sigma have the same units as x and y i.e. number of pixels.
In multi-scale filtering, the size of the filter must change when the sigma changes.
Obtain the number of pixels per one millimeter or the vice-versa. (I did this using the property of pixel spacing included in the DICOM metadata in Matlab you can do this as info=dicominfo('image.dcm'); and spacing=info.PixelSpacing;) 


What I was doing wrong is not changing the filter size when I changed sigma in the different scales.

So, the solution to my problem is like this:
the size of the gaussian kernel should be 2 times or preferably 3 times the value of sigma on eather side of the origin as Mr. Cris suggested.
Gaussian filtering with Matlab's Image Processing Toolbox

cutoff = ceil(3*sigma);


In matlab there is two options, using fspecial() or imgaussfilt(), fspecial() is not recommended anymore in the newer versions of Matlab and latter is the recommended one.

h = fspecial('gaussian',2*cutoff+1,sigma);
B = conv2(A,h,'same');


or...

B = imgaussfilt(A, sigma, 'FilterSize', 2*cutoff+1);


Another thing that I did that corrected my results is converting my input image into type double using im2double() function.

Here is the result: