if we use is keyword to detect if object is of type in this case bool.
Code is decompiled incorrectly with as keyword.
make notice of
object obj = values;
if we in original code used anywhere IsBool variable it would decompile properly is keyword in above line:
bool flag = values is bool;
but still strange that no use of object decompiles as object instead of bool (I would still say this is bug, but we can live with it).