The Constrained Application Protocol (CoAP) is an IETF standard application protocol for the future Internet of Things (IoT). Since IoT devices are often interconnected by networks characterized by high packet error rates and low throughput, congestion control will be crucial to ensure proper and timed communication in these networks. Therefore, CoCoA+, an advanced congestion control algorithm for CoAP, is currently being specified by the IETF. In this work, we present a critical analysis of CoCoA+ performance and highlight some of its shortcomings and pitfalls. Two different scenarios are considered: one with an increasing traffic load due to an increasing number of CoAP requests, and another with an interfering traffic concurrently transmitted in the network characterized by a bursty pattern. In the former scenario, we show how CoCoA+ may be characterized by many spurious retransmissions at some offered loads close to congestion. In the latter, we show instead how the weak estimator is not particularly effective in adapting to changing traffic loads. In order to overcome such limitations, a number of modifications to CoCoA+ are proposed. The resulting solution, named precise Congestion Control (pCoCoA), is shown to reduce the number of retransmissions, while guaranteeing throughputs and delays comparable to those of CoAP and CoCoA+.