Run the following test code, it will throw "Object reference not set to an instance of an object" in KeyValuePairComparer<TKey, TValue> class:

        private static void TestByteArray()
            using (IStorageEngine engine = STSdb.FromFile("test.stsdb4"))
                //part 1
                var table1 = engine.OpenXTable<string, byte[]>("binary");
                var b1 = new byte[] { 0x01, 0x02, 0x03, 0x04 };
                table1["b"] = b1;

                var b2 = table1["b"];
                Debug.Assert(b2 != null);

                //part 2
                var table2 = engine.OpenXTable<byte[], string>("guid");
                var k = Guid.NewGuid().ToByteArray();
                var v = "value";
                table2[k] = v;

                var v2 = table2[k];
                Debug.Assert(v == v2);
If you run part1 or part2 separately, it is fine.