Well, I have tested your scenario and it works fine. The GetMatchingColor() actually returns the custom color which was added to the standard color palette.
I tried the attached the latest version/fix (please try it) with the following sample code:
Workbook workbook = new Workbook();
//Define a custom color.
color1 = Color.FromArgb(59, 114, 167);
//Add to excel color palette.
bool chkcolor = workbook.IsColorInPalette(color1);
//Get the matching color with respect to custom color.
Color mcolor = workbook.GetMatchingColor(color1);
//Check the matching color’s rgb values.
MessageBox.Show(mcolor.R.ToString()); //59 - OK
MessageBox.Show(mcolor.G.ToString()); //114 - OK
MessageBox.Show(mcolor.B.ToString()); //167 - OK
If you still find the issue, kindly post your sample code (with template file if you have) here to reproduce the issue, we will check it soon.