What is the proper way to remove placed item entities?

Writing a limit script for entities and came across an issue. 
When hitting the limit (i.e. 100 player placed entities already), entity.kill throws an error for item placeables, but not for structures.

Error:

NullReferenceException: Object reference not set to an instance of an object
  at Planner.DoBuild (Construction+Target target, Construction component) [0x00342] in <111cf35a61814291919d99538756ada1>:0 
  at Planner.DoBuild (ProtoBuf.CreateBuilding msg) [0x0034c] in <111cf35a61814291919d99538756ada1>:0 
  at Planner.DoPlace (BaseEntity+RPCMessage msg) [0x0001a] in <111cf35a61814291919d99538756ada1>:0 
  at Planner.OnRpcMessage (BasePlayer player, System.UInt32 rpc, Network.Message msg) [0x000c9] in <111cf35a61814291919d99538756ada1>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
Planner:OnRpcMessage(BasePlayer, UInt32, Message)
BaseEntity:SV_RPCMessage(UInt32, Message)
ServerMgr:OnRPCMessage(Message)
ServerMgr:OnNetworkMessage(Message)
Facepunch.Network.Raknet.Server:ConnectedPacket(Connection)
Facepunch.Network.Raknet.Server:Cycle()
ServerMgr:Update()

...MistrMouse kicked: RPC Error in DoPlace


Below is a code snippet, my question is if entity.Kill() is not the solution for removal/destruction of placed items (i.e. fireworks).

        //OnEntityBuilt
        //Called when any structure is built (walls, ceilings, stairs, etc.)
        //No return behavior
        private void OnEntityBuilt(Planner plan, GameObject go)
        {
            BasePlayer player = plan?.GetOwnerPlayer();
            if (player == null)
                return;

            BaseEntity entity = go?.ToBaseEntity();
            if (entity == null)
                return;

            if (player.userID.IsSteamId()) {
                string steamId = player.UserIDString;
                int count = updateCount(steamId, player.displayName, true);

                if (count > MAX_PLAYER_LIMIT) {
                    player.ChatMessage("Entity placement limit reached, destroying entity...");
                    entity.Kill();
                }
                else {
                    player.ChatMessage("Entity placement limit: " + count + " / " + MAX_PLAYER_LIMIT);
                }
            }
        }

 

Maybe try delaying the kill by one tick using NextTick

e.g.

...        
    if (count > MAX_PLAYER_LIMIT) {
        player.ChatMessage("Entity placement limit reached, destroying entity...");
        NextTick(entity.Kill);
    }
    else {
        player.ChatMessage("Entity placement limit: " + count + " / " + MAX_PLAYER_LIMIT);
    }
}​